Howto: Oscam debug: Unterschied zwischen den Versionen

Aus Zebradem WIKI
Zur Navigation springenZur Suche springen
Die Seite wurde neu angelegt: „ie Anleitung basiert auf folgendem System : 1. System Hardware: Alix 3D2 x86 OS:Ubuntu 10.10 / 2.6.35-24-generic 2. Benötigte Pakete mit apt-get install…“
 
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
ie Anleitung basiert auf folgendem System :
ie Anleitung basiert auf folgendem System :  


1. System
1. System  


  Hardware: Alix 3D2 x86
  Hardware: Alix 3D2 x86
  OS:Ubuntu 10.10 / 2.6.35-24-generic
  OS:Ubuntu 10.10 / 2.6.35-24-generic


 
<br> 2. Benötigte Pakete mit apt-get installieren  
2. Benötigte Pakete mit apt-get installieren


  apt-get update
  apt-get update
  apt-get install -y htop automake make cmake cmake-curses-gui subversion libusb-dev libssl-dev libssh-dev gdb dialog g++ gcc
  apt-get install -y htop automake make cmake cmake-curses-gui subversion libusb-dev libssl-dev libssh-dev gdb dialog g++ gcc


3. Zusätzlich sollte man mindestens die libusb-1.0.6 wie folgt installieren :
3. Zusätzlich sollte man mindestens die libusb-1.0.6 wie folgt installieren&nbsp;: (Hier wird die libusb-1.0.8 installiert)  
(Hier wird die libusb-1.0.8 installiert)


  cd /tmp
  cd /tmp
Zeile 23: Zeile 21:
  make install
  make install


<br> 4. Die Konfigurationsdateien von OScam sind hier abgelegt (Falls bei euch wo anderst, dann im run Script den Pfad anpassen)


4. Die Konfigurationsdateien von OScam sind hier abgelegt
(Falls bei euch wo anderst, dann im run Script den Pfad anpassen)
  /var/etc
  /var/etc


 
<br> 5. In der oscam.config sollte folgendes vorhanden sein  
5. In der oscam.config sollte folgendes vorhanden sein


  logfile                      = /var/log/oscam.log
  logfile                      = /var/log/oscam.log
  disablelog                    = 0
  disablelog                    = 0


<br> 6. Wenn man als User ohne Admin Rechte die Scripte ausführt bekommt man mit dem Eintrag "ulimit -n 4096" eine Fehlermeldung. --&gt; ulimit: open files: Kann die Grenze nicht ändern: Die Operation ist nicht erlaubt


6. Wenn man als User ohne Admin Rechte die Scripte ausführt bekommt man mit dem
Deshalb verwende ich unter Punkt 4.0 den root als User!
Eintrag "ulimit -n 4096" eine Fehlermeldung.
--> ulimit: open files: Kann die Grenze nicht ändern: Die Operation ist nicht erlaubt


Deshalb verwende ich unter Punkt 4.0 den root als User!
1.0 Einen User anlegen


1.0 Einen User anlegen
Mit dem Programm Putty (für Windows) als root zum Server verbinden, folgendes eingeben und dann die Abfragen durchführen:


Mit dem Programm Putty (für Windows) als root zum Server verbinden,
adduser oscam_doctor
folgendes eingeben und dann die Abfragen durchführen:
 
dannach mit


adduser oscam_doctor
dannach mit
  logout
  logout
die Verbindung beenden.


2.0 OScam files herunterladen
die Verbindung beenden.
 
2.0 OScam files herunterladen  
 
Mit dem Programm Putty (für Windows) als oscam_doctor zum Server verbinden. Jetzt sind wir im Home-Verzeichnis des Users oscam_doctor, Kontrolle mit


Mit dem Programm Putty (für Windows) als oscam_doctor zum Server verbinden.
Jetzt sind wir im Home-Verzeichnis des Users oscam_doctor, Kontrolle mit
  pwd
  pwd


Falls ihr nachschauen möchtet ob eine OScam gerade läuft dann könnt ihr das
Falls ihr nachschauen möchtet ob eine OScam gerade läuft dann könnt ihr das mit htop prüfen und ggf. killen  
mit htop prüfen und ggf. killen
 
  htop
  htop


2.1 Wenn ihr die letzte Version auschecken wollt dann folgendes eingeben
2.1 Wenn ihr die letzte Version auschecken wollt dann folgendes eingeben  
 
  svn co http://streamboard.gmc.to/svn/oscam/trunk oscam-svn
  svn co http://streamboard.gmc.to/svn/oscam/trunk oscam-svn


<br> 2.2 Wenn ihr eine bestimmte Version auschecken wollt dann folgendes eingeben und xxxx mit der gewünschten Versionsnummer ändern


2.2 Wenn ihr eine bestimmte Version auschecken wollt dann folgendes eingeben
und xxxx mit der gewünschten Versionsnummer ändern
  svn co http://streamboard.gmc.to/svn/oscam/trunk oscam-svn -r xxxx
  svn co http://streamboard.gmc.to/svn/oscam/trunk oscam-svn -r xxxx


2.3 Wenn ihr nur bestimmte Module (Add-Ons/Protocols/Reader) in der OScam
2.3 Wenn ihr nur bestimmte Module (Add-Ons/Protocols/Reader) in der OScam haben möchtet, dann folgendes eingeben (Zu mindestens sollte unter "Add-ons" Debug messages und Log History gewählt werden)  
haben möchtet, dann folgendes eingeben
(Zu mindestens sollte unter "Add-ons" Debug messages und Log History gewählt werden)


  cd oscam-svn
  cd oscam-svn
  ./config.sh
  ./config.sh


und es öffnet sich folgendes Dialogfenster
und es öffnet sich folgendes Dialogfenster  
 
[[Image:Oscamdebug1.jpg]]
 
[[Image:Oscamdebug2.jpg]]
 
[[Image:Oscamdebug3.jpg]]
 
[[Image:Oscamdebug4.jpg]]


  [externes Bild: http://s1.directupload.net/images/110405/h8djzon5.jpg]
  [externes Bild: http://s1.directupload.net/images/110405/h8djzon5.jpg]
Zeile 83: Zeile 84:
  [externes Bild: http://s7.directupload.net/images/110405/bqrt9qcc.jpg]
  [externes Bild: http://s7.directupload.net/images/110405/bqrt9qcc.jpg]


Anleitung:
Anleitung: Mit der Enter Taste könnt ihr in die Hauptmodule und mit Leertaste wählt man die Module aus. Zum Schluß auf "Save" und dann mit "Enter" bestätigen nicht vergessen&nbsp;!  
Mit der Enter Taste könnt ihr in die Hauptmodule und mit Leertaste wählt man die Module aus.
Zum Schluß auf "Save" und dann mit "Enter" bestätigen nicht vergessen !


<br> 3.0 Scripte erstellen PS: Wir sind im /home/oscam_doctor/oscam-svn/build Verzeichnis&nbsp;!


3.0 Scripte erstellen
Folgendes eingeben
PS: Wir sind im /home/oscam_doctor/oscam-svn/build Verzeichnis !


Folgendes eingeben
  mkdir build
  mkdir build
  cd build
  cd build


Dann im Ordner drei Dateien mit z.B. vi erstellen
Dann im Ordner drei Dateien mit z.B. vi erstellen  


3.2.0 Ohne cmake im Scrpit
3.2.0 Ohne cmake im Scrpit  
 
3.2.1


3.2.1
  vi gdb-start
  vi gdb-start


3.2.2 Hier nur i eingeben nicht ENTER drücken !
3.2.2 Hier nur i eingeben nicht ENTER drücken&nbsp;!  
 
  i
  i


3.2.3 Dann das hier kopieren und in den Putty-Fenster mit der Rechten-Maustaste reinklicken
3.2.3 Dann das hier kopieren und in den Putty-Fenster mit der Rechten-Maustaste reinklicken  
 
  #/bin/sh
  #/bin/sh
  ulimit -n 4096
  ulimit -n 4096
Zeile 114: Zeile 115:
  echo "oscam exit debug"
  echo "oscam exit debug"


<br> 3.2.4 Dann einmal die ESC Taste drücken und


3.2.4 Dann einmal die ESC Taste drücken und
3.2.5 Folgendes eingeben


3.2.5 Folgendes eingeben
  :wq
  :wq
und ENTER drücken


3.2.6 Dann die Rechte ändern mit
und ENTER drücken
 
3.2.6 Dann die Rechte ändern mit  
 
  chmod 755 gdb-start
  chmod 755 gdb-start


3.2.7 Fertig
3.2.7 Fertig  


3.1.0 Mit cmake im Script
3.1.0 Mit cmake im Script  
 
3.1.1


3.1.1
  vi gdb-cmake-start
  vi gdb-cmake-start


3.1.2 Hier nur i eingeben nicht ENTER drücken !
3.1.2 Hier nur i eingeben nicht ENTER drücken&nbsp;!  
 
  i
  i


3.1.3 Dann das hier kopieren und in den Putty-Fenster mit der Rechten-Maustaste reinklicken
3.1.3 Dann das hier kopieren und in den Putty-Fenster mit der Rechten-Maustaste reinklicken  
 
  #/bin/sh
  #/bin/sh
  ulimit -n 4096
  ulimit -n 4096
Zeile 145: Zeile 151:
  echo "oscam exit debug"
  echo "oscam exit debug"


3.1.4 Dann einmal die ESC Taste drücken und
3.1.4 Dann einmal die ESC Taste drücken und  
 
3.1.5 Folgendes eingeben


3.1.5 Folgendes eingeben
  :wq
  :wq
und ENTER drücken


3.1.6 Dann die Rechte ändern mit
und ENTER drücken
 
3.1.6 Dann die Rechte ändern mit  
 
  chmod 755 gdb-cmake-start
  chmod 755 gdb-cmake-start


3.1.7 Fertig
3.1.7 Fertig  
 
3.3.0 Script für Konfigurationspfad erstellen


3.3.0 Script für Konfigurationspfad erstellen
3.3.1


3.3.1
  vi run
  vi run


3.3.2 Hier nur i eingeben nicht ENTER drücken !
3.3.2 Hier nur i eingeben nicht ENTER drücken&nbsp;!  
 
  i
  i


3.3.3 Dann das hier kopieren und in den Putty-Fenster mit der Rechten-Maustaste reinklicken
3.3.3 Dann das hier kopieren und in den Putty-Fenster mit der Rechten-Maustaste reinklicken  
 
  run -d1 -r0 -c/var/etc/
  run -d1 -r0 -c/var/etc/


3.3.4 Dann einmal die ESC Taste drücken und
3.3.4 Dann einmal die ESC Taste drücken und  
 
3.3.5 Folgendes eingeben


3.3.5 Folgendes eingeben
  :wq
  :wq
und ENTER drücken


3.3.6 Dann die Rechte ändern mit
und ENTER drücken
 
3.3.6 Dann die Rechte ändern mit  
 
  chmod 755 run
  chmod 755 run


3.3.7 Anschließend melden wir uns vom Server ab
3.3.7 Anschließend melden wir uns vom Server ab  
 
  logout
  logout


4.0.0 OScam mit Hilfe der Scripte im Debug-Modus starten
4.0.0 OScam mit Hilfe der Scripte im Debug-Modus starten  
 
Mit dem Programm Putty (für Windows) als root zum Server verbinden. Dann geben wir folgendes ein


Mit dem Programm Putty (für Windows) als root zum Server verbinden.
Dann geben wir folgendes ein
  cd /home/oscam_doctor/oscam-svn/build
  cd /home/oscam_doctor/oscam-svn/build


4.1.0 Beim ersten Start verwenden wir den gdb-cmake-start Script damit wird die OScam Binary zum ersten Mal kompiliert!
4.1.0 Beim ersten Start verwenden wir den gdb-cmake-start Script damit wird die OScam Binary zum ersten Mal kompiliert!  
 
  ./gdb-cmake-start
  ./gdb-cmake-start


Dann solltet ihr folgendes in der Ausgabe sehen
Dann solltet ihr folgendes in der Ausgabe sehen  
 
  .
  .
  .
  .
Zeile 208: Zeile 226:
  GNU gdb (GDB) 7.2-ubuntu
  GNU gdb (GDB) 7.2-ubuntu
  Copyright (C) 2010 Free Software Foundation, Inc.
  Copyright (C) 2010 Free Software Foundation, Inc.
  License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
  License GPLv3+: GNU GPL version 3 or later &lt;http://gnu.org/licenses/gpl.html&gt;
  This is free software: you are free to change and redistribute it.
  This is free software: you are free to change and redistribute it.
  There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
  There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
Zeile 214: Zeile 232:
  This GDB was configured as "i686-linux-gnu".
  This GDB was configured as "i686-linux-gnu".
  For bug reporting instructions, please see:
  For bug reporting instructions, please see:
  <http://www.gnu.org/software/gdb/bugs/>...
  &lt;http://www.gnu.org/software/gdb/bugs/&gt;...
  Reading symbols from /home/oscam_doctor/oscam-svn/build/oscam...done.
  Reading symbols from /home/oscam_doctor/oscam-svn/build/oscam...done.
  Copying output to gdb.txt.
  Copying output to gdb.txt.
Zeile 230: Zeile 248:
  [New Thread 0xb5fdcb70 (LWP 2762)]
  [New Thread 0xb5fdcb70 (LWP 2762)]


4.2.0 Falls ihr die OScam Binary schon habt, dann könnt ihr den gdb-start Script verwenden
4.2.0 Falls ihr die OScam Binary schon habt, dann könnt ihr den gdb-start Script verwenden  
 
  ./gdb-start
  ./gdb-start


Dann solltet ihr folgendes in der Ausgabe sehen
Dann solltet ihr folgendes in der Ausgabe sehen  


  root@Alix:/home/oscam_doctor/oscam-svn/build# ./gdb-start
  root@Alix:/home/oscam_doctor/oscam-svn/build# ./gdb-start
Zeile 240: Zeile 259:
  GNU gdb (GDB) 7.2-ubuntu
  GNU gdb (GDB) 7.2-ubuntu
  Copyright (C) 2010 Free Software Foundation, Inc.
  Copyright (C) 2010 Free Software Foundation, Inc.
  License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
  License GPLv3+: GNU GPL version 3 or later &lt;http://gnu.org/licenses/gpl.html&gt;
  This is free software: you are free to change and redistribute it.
  This is free software: you are free to change and redistribute it.
  There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
  There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
Zeile 246: Zeile 265:
  This GDB was configured as "i686-linux-gnu".
  This GDB was configured as "i686-linux-gnu".
  For bug reporting instructions, please see:
  For bug reporting instructions, please see:
  <http://www.gnu.org/software/gdb/bugs/>...
  &lt;http://www.gnu.org/software/gdb/bugs/&gt;...
  Reading symbols from /home/oscam_doctor/oscam-svn/build/oscam...done.
  Reading symbols from /home/oscam_doctor/oscam-svn/build/oscam...done.
  Copying output to gdb.txt.
  Copying output to gdb.txt.
Zeile 262: Zeile 281:
  [New Thread 0xb5fdcb70 (LWP 2779)]
  [New Thread 0xb5fdcb70 (LWP 2779)]


5.0.0 Das Wichtigste an der ganzen Sache
5.0.0 Das Wichtigste an der ganzen Sache  


Mit beiden Scripten werden die Log Dateien für gdb automatisch erstellt
Mit beiden Scripten werden die Log Dateien für gdb automatisch erstellt --&gt; /home/oscam_doctor/oscam-svn/build/gdb.txt  
--> /home/oscam_doctor/oscam-svn/build/gdb.txt


Wenn nun OScam abstürzen sollte würde man als Ausgabe im Putty folgendes sehen
Wenn nun OScam abstürzen sollte würde man als Ausgabe im Putty folgendes sehen  


  Reading symbols from /home/proto/oscam-svn/build/oscam...done.
  Reading symbols from /home/proto/oscam-svn/build/oscam...done.
Zeile 284: Zeile 302:
  [New Thread 0xb5fdcb70 (LWP 2811)]
  [New Thread 0xb5fdcb70 (LWP 2811)]


Program received signal SIGSEGV, Segmentation fault.
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb7b602a0 (LWP 16480)] 0x080a4f59 in cc_available (rdr=0x0, checktype=0) at module-cccam.c:3897 3897 struct s_client *cl = rdr-&gt;client; (gdb)  
[Switching to Thread 0xb7b602a0 (LWP 16480)]
0x080a4f59 in cc_available (rdr=0x0, checktype=0) at module-cccam.c:3897
3897 struct s_client *cl = rdr->client;
(gdb)
 


<br>


!!!WICHTIG!!! !!!WICHTIG!!! !!!WICHTIG!!! !!!WICHTIG!!! !!!WICHTIG!!! !!!WICHTIG!!! !!!WICHTIG!!! !!!WICHTIG!!! !!!WICHTIG!!! !!!WICHTIG!!!
!!!WICHTIG!!!&nbsp;!!!WICHTIG!!!&nbsp;!!!WICHTIG!!!&nbsp;!!!WICHTIG!!!&nbsp;!!!WICHTIG!!!&nbsp;!!!WICHTIG!!!&nbsp;!!!WICHTIG!!!&nbsp;!!!WICHTIG!!!&nbsp;!!!WICHTIG!!!&nbsp;!!!WICHTIG!!!  


Jetzt erwartet "gdb" eine Eingabe damit der Backtrace angezeigt wird das sollten wir auch machen damit es in die gdb.txt Log-Datei geschrieben wird
Jetzt erwartet "gdb" eine Eingabe damit der Backtrace angezeigt wird das sollten wir auch machen damit es in die gdb.txt Log-Datei geschrieben wird  


<br> Also geben wir einfach folgendes ein


Also geben wir einfach folgendes ein
  bt
  bt


Und bekommen dann den Backtrace angezeigt
Und bekommen dann den Backtrace angezeigt  


  Program received signal SIGSEGV, Segmentation fault.
  Program received signal SIGSEGV, Segmentation fault.
  [Switching to Thread 0xb7b602a0 (LWP 16480)]
  [Switching to Thread 0xb7b602a0 (LWP 16480)]
  0x080a4f59 in cc_available (rdr=0x0, checktype=0) at module-cccam.c:3897
  0x080a4f59 in cc_available (rdr=0x0, checktype=0) at module-cccam.c:3897
  3897 struct s_client *cl = rdr->client;
  3897 struct s_client *cl = rdr-&gt;client;
  (gdb) bt
  (gdb) bt
  #0 0x080a4f59 in cc_available (rdr=0x0, checktype=0) at module-cccam.c:3897
  #0 0x080a4f59 in cc_available (rdr=0x0, checktype=0) at module-cccam.c:3897
Zeile 323: Zeile 337:
  (gdb)
  (gdb)


<br> Und jetzt erst wird die Ausgabe in die gdb.txt geschrieben!


Und jetzt erst wird die Ausgabe in die gdb.txt geschrieben!
6.0.0 Den Abturz im Forum melden


6.0.0 Den Abturz im Forum melden
6.1.0 Nach mehrmaligem Hinweis von schlocke und admin solltet ihr bitte keine Abstürze melden die so anfangen  
 
6.1.0 Nach mehrmaligem Hinweis von schlocke und admin solltet ihr bitte keine Abstürze melden die so anfangen


  Program received signal SIGPIPE, Broken pipe.
  Program received signal SIGPIPE, Broken pipe.
Zeile 334: Zeile 347:
  Program received signal SIGABRT, Aborted.
  Program received signal SIGABRT, Aborted.


nur solche sollten gemeldet werden
nur solche sollten gemeldet werden  
 
  Program received signal SIGSEGV, Segmentation fault.
  Program received signal SIGSEGV, Segmentation fault.


 
<br> 6.2.0 Am Besten ist es wenn ihr den Inhalt der beiden Dateien hier Postet und zum Schluß noch eine Bermerkung hinzufügt. Da hier die Informationen über OScam Version + die gebauten Module + Backtrace drin stehen  
6.2.0 Am Besten ist es wenn ihr den Inhalt der beiden Dateien hier Postet und zum Schluß noch eine Bermerkung hinzufügt.
Da hier die Informationen über OScam Version + die gebauten Module + Backtrace drin stehen


  /tmp/.oscam/oscam.version
  /tmp/.oscam/oscam.version
  /home/oscam_doctor/oscam-svn/build/gdb.txt
  /home/oscam_doctor/oscam-svn/build/gdb.txt


 
<br> Info: Und man sollte wie schlocke schon geschrieben hat die OScam Version Logdatei und evtl. was man zu letzt im Webinterface oder OScam gemacht hat beschreiben.
Info:
Und man sollte wie schlocke schon geschrieben hat die
OScam Version
Logdatei
und evtl. was man zu letzt im Webinterface oder OScam gemacht hat beschreiben.

Version vom 12. April 2011, 09:22 Uhr

ie Anleitung basiert auf folgendem System :

1. System

Hardware: Alix 3D2 x86
OS:Ubuntu 10.10 / 2.6.35-24-generic


2. Benötigte Pakete mit apt-get installieren

apt-get update
apt-get install -y htop automake make cmake cmake-curses-gui subversion libusb-dev libssl-dev libssh-dev gdb dialog g++ gcc

3. Zusätzlich sollte man mindestens die libusb-1.0.6 wie folgt installieren : (Hier wird die libusb-1.0.8 installiert)

cd /tmp
wget http://sourceforge.net/projects/libusb/files/libusb-1.0/libusb-1.0.8/libusb-1.0.8.tar.bz2/download
tar xjf libusb-1.0.8.tar.bz2
cd libusb-1.0.8
./configure
make
make install


4. Die Konfigurationsdateien von OScam sind hier abgelegt (Falls bei euch wo anderst, dann im run Script den Pfad anpassen)

/var/etc


5. In der oscam.config sollte folgendes vorhanden sein

logfile                       = /var/log/oscam.log
disablelog                    = 0


6. Wenn man als User ohne Admin Rechte die Scripte ausführt bekommt man mit dem Eintrag "ulimit -n 4096" eine Fehlermeldung. --> ulimit: open files: Kann die Grenze nicht ändern: Die Operation ist nicht erlaubt

Deshalb verwende ich unter Punkt 4.0 den root als User!

1.0 Einen User anlegen

Mit dem Programm Putty (für Windows) als root zum Server verbinden, folgendes eingeben und dann die Abfragen durchführen:

adduser oscam_doctor

dannach mit

logout

die Verbindung beenden.

2.0 OScam files herunterladen

Mit dem Programm Putty (für Windows) als oscam_doctor zum Server verbinden. Jetzt sind wir im Home-Verzeichnis des Users oscam_doctor, Kontrolle mit

pwd

Falls ihr nachschauen möchtet ob eine OScam gerade läuft dann könnt ihr das mit htop prüfen und ggf. killen

htop

2.1 Wenn ihr die letzte Version auschecken wollt dann folgendes eingeben

svn co http://streamboard.gmc.to/svn/oscam/trunk oscam-svn


2.2 Wenn ihr eine bestimmte Version auschecken wollt dann folgendes eingeben und xxxx mit der gewünschten Versionsnummer ändern

svn co http://streamboard.gmc.to/svn/oscam/trunk oscam-svn -r xxxx

2.3 Wenn ihr nur bestimmte Module (Add-Ons/Protocols/Reader) in der OScam haben möchtet, dann folgendes eingeben (Zu mindestens sollte unter "Add-ons" Debug messages und Log History gewählt werden)

cd oscam-svn
./config.sh

und es öffnet sich folgendes Dialogfenster

[externes Bild: http://s1.directupload.net/images/110405/h8djzon5.jpg]
[externes Bild: http://s7.directupload.net/images/110405/adla74vp.jpg]
[externes Bild: http://s1.directupload.net/images/110405/lupxjikc.jpg]
[externes Bild: http://s7.directupload.net/images/110405/bqrt9qcc.jpg]

Anleitung: Mit der Enter Taste könnt ihr in die Hauptmodule und mit Leertaste wählt man die Module aus. Zum Schluß auf "Save" und dann mit "Enter" bestätigen nicht vergessen !


3.0 Scripte erstellen PS: Wir sind im /home/oscam_doctor/oscam-svn/build Verzeichnis !

Folgendes eingeben

mkdir build
cd build

Dann im Ordner drei Dateien mit z.B. vi erstellen

3.2.0 Ohne cmake im Scrpit

3.2.1

vi gdb-start

3.2.2 Hier nur i eingeben nicht ENTER drücken !

i

3.2.3 Dann das hier kopieren und in den Putty-Fenster mit der Rechten-Maustaste reinklicken

#/bin/sh
ulimit -n 4096
killall -9 oscam
echo "oscam killed"
sleep 1
gdb -ex "set logging on" -ex "show logging" oscam -x run
echo "oscam exit debug"


3.2.4 Dann einmal die ESC Taste drücken und

3.2.5 Folgendes eingeben

:wq

und ENTER drücken

3.2.6 Dann die Rechte ändern mit

chmod 755 gdb-start

3.2.7 Fertig

3.1.0 Mit cmake im Script

3.1.1

vi gdb-cmake-start

3.1.2 Hier nur i eingeben nicht ENTER drücken !

i

3.1.3 Dann das hier kopieren und in den Putty-Fenster mit der Rechten-Maustaste reinklicken

#/bin/sh
ulimit -n 4096
cmake -DCMAKE_BUILD_TYPE=Debug ..
make
killall -9 oscam
echo "oscam killed"
sleep 1
gdb -ex "set logging on" -ex "show logging" oscam -x run
echo "oscam exit debug"

3.1.4 Dann einmal die ESC Taste drücken und

3.1.5 Folgendes eingeben

:wq

und ENTER drücken

3.1.6 Dann die Rechte ändern mit

chmod 755 gdb-cmake-start

3.1.7 Fertig

3.3.0 Script für Konfigurationspfad erstellen

3.3.1

vi run

3.3.2 Hier nur i eingeben nicht ENTER drücken !

i

3.3.3 Dann das hier kopieren und in den Putty-Fenster mit der Rechten-Maustaste reinklicken

run -d1 -r0 -c/var/etc/

3.3.4 Dann einmal die ESC Taste drücken und

3.3.5 Folgendes eingeben

:wq

und ENTER drücken

3.3.6 Dann die Rechte ändern mit

chmod 755 run

3.3.7 Anschließend melden wir uns vom Server ab

logout

4.0.0 OScam mit Hilfe der Scripte im Debug-Modus starten

Mit dem Programm Putty (für Windows) als root zum Server verbinden. Dann geben wir folgendes ein

cd /home/oscam_doctor/oscam-svn/build

4.1.0 Beim ersten Start verwenden wir den gdb-cmake-start Script damit wird die OScam Binary zum ersten Mal kompiliert!

./gdb-cmake-start

Dann solltet ihr folgendes in der Ausgabe sehen

.
.
.
.
[ 97%] Built target cscrypt
Scanning dependencies of target svnversion
[ 97%] Built target svnversion
Scanning dependencies of target oscam
[ 98%] Building C object CMakeFiles/oscam.dir/oscam.o
Linking C executable oscam
[ 98%] Built target oscam
Scanning dependencies of target list_smargo
[100%] Building C object utils/CMakeFiles/list_smargo.dir/list_smargo.o
Linking C executable list_smargo
[100%] Built target list_smargo
oscam: Kein Prozess gefunden
oscam killed
GNU gdb (GDB) 7.2-ubuntu
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/oscam_doctor/oscam-svn/build/oscam...done.
Copying output to gdb.txt.
Currently logging to "gdb.txt".
Logs will be appended to the log file.
Output will be logged and displayed.
[Thread debugging using libthread_db enabled]
[New Thread 0xb7ff5280 (LWP 2755)]
[New Thread 0xb7fee280 (LWP 2756)]
[New Thread 0xb7fe7280 (LWP 2757)]
[New Thread 0xb7fe0b70 (LWP 2758)]
[New Thread 0xb77dfb70 (LWP 2759)]
[New Thread 0xb6fdeb70 (LWP 2760)]
[New Thread 0xb67ddb70 (LWP 2761)]
[New Thread 0xb5fdcb70 (LWP 2762)]

4.2.0 Falls ihr die OScam Binary schon habt, dann könnt ihr den gdb-start Script verwenden

./gdb-start

Dann solltet ihr folgendes in der Ausgabe sehen

root@Alix:/home/oscam_doctor/oscam-svn/build# ./gdb-start
oscam: Kein Prozess gefunden
oscam killed
GNU gdb (GDB) 7.2-ubuntu
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/oscam_doctor/oscam-svn/build/oscam...done.
Copying output to gdb.txt.
Currently logging to "gdb.txt".
Logs will be appended to the log file.
Output will be logged and displayed.
[Thread debugging using libthread_db enabled]
[New Thread 0xb7ff5280 (LWP 2772)]
[New Thread 0xb7fee280 (LWP 2773)]
[New Thread 0xb7fe7280 (LWP 2774)]
[New Thread 0xb7fe0b70 (LWP 2775)]
[New Thread 0xb77dfb70 (LWP 2776)]
[New Thread 0xb6fdeb70 (LWP 2777)]
[New Thread 0xb67ddb70 (LWP 2778)]
[New Thread 0xb5fdcb70 (LWP 2779)]

5.0.0 Das Wichtigste an der ganzen Sache

Mit beiden Scripten werden die Log Dateien für gdb automatisch erstellt --> /home/oscam_doctor/oscam-svn/build/gdb.txt

Wenn nun OScam abstürzen sollte würde man als Ausgabe im Putty folgendes sehen

Reading symbols from /home/proto/oscam-svn/build/oscam...done.
Copying output to gdb.txt.
Currently logging to "gdb.txt".
Logs will be appended to the log file.
Output will be logged and displayed.
[Thread debugging using libthread_db enabled]
[New Thread 0xb7ff5280 (LWP 2804)]
[New Thread 0xb7fee280 (LWP 2805)]
[New Thread 0xb7fe7280 (LWP 2806)]
[New Thread 0xb7fe0b70 (LWP 2807)]
[New Thread 0xb77dfb70 (LWP 2808)]
[New Thread 0xb6fdeb70 (LWP 2809)]
[New Thread 0xb67ddb70 (LWP 2810)]
[New Thread 0xb5fdcb70 (LWP 2811)]

Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb7b602a0 (LWP 16480)] 0x080a4f59 in cc_available (rdr=0x0, checktype=0) at module-cccam.c:3897 3897 struct s_client *cl = rdr->client; (gdb)


!!!WICHTIG!!! !!!WICHTIG!!! !!!WICHTIG!!! !!!WICHTIG!!! !!!WICHTIG!!! !!!WICHTIG!!! !!!WICHTIG!!! !!!WICHTIG!!! !!!WICHTIG!!! !!!WICHTIG!!!

Jetzt erwartet "gdb" eine Eingabe damit der Backtrace angezeigt wird das sollten wir auch machen damit es in die gdb.txt Log-Datei geschrieben wird


Also geben wir einfach folgendes ein

bt

Und bekommen dann den Backtrace angezeigt

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb7b602a0 (LWP 16480)]
0x080a4f59 in cc_available (rdr=0x0, checktype=0) at module-cccam.c:3897
3897 struct s_client *cl = rdr->client;
(gdb) bt
#0 0x080a4f59 in cc_available (rdr=0x0, checktype=0) at module-cccam.c:3897
#1 0x080b0afc in matching_reader (er=0x8296da8, rdr=0x815cbbcool at oscam-chk.c:409
#2 0x080527c1 in get_cw (client=0xb7a23628, er=0x8296dacool at oscam.c:2491
#3 0x0809f228 in cc_parse_msg (cl=0xb7a23628, buf=0x82a33a0 "k\001", l=164) at module-cccam.c:2124
#4 0x080a057e in cc_recv (cl=0xb7a23628,
buf=0xb7b5f210 "PARTNER: OSCam v1.00-unstable_svn, build #4581 (i686-pc-linux-debug) [EXT,SID]", l=1024)
at module-cccam.c:2533
#5 0x08053df7 in process_input (
buf=0xb7b5f210 "PARTNER: OSCam v1.00-unstable_svn, build #4581 (i686-pc-linux-debug) [EXT,SID]", l=1024, timeout=10)
at oscam.c:2844
#6 0x080a3994 in cc_srv_connect (cl=0xb7a2362cool at module-cccam.c:3514
#7 0x080a3cf4 in cc_srv_init (cl=0xb7a2362cool at module-cccam.c:3583
#8 0xb7dd71b5 in start_thread () from /lib/libpthread.so.0
#9 0xb7d4662e in clone () from /lib/libc.so.6
(gdb)


Und jetzt erst wird die Ausgabe in die gdb.txt geschrieben!

6.0.0 Den Abturz im Forum melden

6.1.0 Nach mehrmaligem Hinweis von schlocke und admin solltet ihr bitte keine Abstürze melden die so anfangen

Program received signal SIGPIPE, Broken pipe.
Program received signal SIGHUP, Hangup.
Program received signal SIGABRT, Aborted.

nur solche sollten gemeldet werden

Program received signal SIGSEGV, Segmentation fault.


6.2.0 Am Besten ist es wenn ihr den Inhalt der beiden Dateien hier Postet und zum Schluß noch eine Bermerkung hinzufügt. Da hier die Informationen über OScam Version + die gebauten Module + Backtrace drin stehen

/tmp/.oscam/oscam.version
/home/oscam_doctor/oscam-svn/build/gdb.txt


Info: Und man sollte wie schlocke schon geschrieben hat die OScam Version Logdatei und evtl. was man zu letzt im Webinterface oder OScam gemacht hat beschreiben.