JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=0295ba4f09f8f4f3e3205328d862be1bMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Wie debuggen?

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
DonBlech
Mini JLI'ler



Anmeldedatum: 07.05.2007
Beiträge: 2

Medaillen: Keine

BeitragVerfasst am: 07.05.2007, 23:47    Titel: Wie debuggen? Antworten mit Zitat

Hallo,

ich habe Probleme, Anwendungen zu debuggen. Ich versuche es mit WinDbg, wie
es im Buch von Christian Rousselle vorgeschlagen und erläutert wird.

Das erste was mir auffällt ist folgendes: Wenn ich das Beispiel im Buch
"SimpleDbg" mit Debug-Informationen erstelle, wird eine Datei namens
"vc70.pdb" (die Symbol-Datei?) erstellt.
Wenn ich mein eigenes Projekt "test.exe" mit Debug-Informationen erstelle,
wird stattdessen eine Datei namens "test.pdb" erzeugt?! Ich bin jedoch der
Meinung, beide Male identische Compiler/Linker - Einstellungen vorgegeben zu
haben.

Aber nun zum eigentlichen Problem:

Wenn ich nun wie im Buch erklärt vorgehe, starte ich WinDbg und stelle
zunächst unter "Symbol File Path" den Pfad zum SimpleDbg - Ordner ein, in
dem sich die vc70.pdb und die SimpleDbg.exe befinden.
Als nächstes öffne ich via "Open Executable" die SimpleDbg.exe. Die Frage
"Save Information for Workspace" beantworte ich mit "Nein" (ich will
eigentlich nix speichern, sondern nur das Debuggen ausprobieren).

Nun öffnet sich ein leeres Konsolenfenster und in einem von WinDbg neu
erstellten Fenster erscheint folgender Text:

CommandLine: "D:\Entwicklung mit MS\Beispiele\Kapitel
08\SimpleDbg\SimpleDbg.exe"
Symbol search path is: D:\Entwicklung mit MS\Beispiele\Kapitel 08\SimpleDbg
Executable search path is:
ModLoad: 00400000 00429000 image00400000
ModLoad: 7c910000 7c9c7000 ntdll.dll
ModLoad: 7c800000 7c906000 C:\WINDOWS\system32\kernel32.dll
(370.7b0): Break instruction exception - code 80000003 (first chance)
eax=00241eb4 ebx=7ffd8000 ecx=00000001 edx=00000002 esi=00241f48
edi=00241eb4
eip=7c911230 esp=0012fb20 ebp=0012fc94 iopl=0 nv up ei pl nz na pe
nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000
efl=00000202
*** ERROR: Symbol file could not be found. Defaulted to export symbols for
ntdll.dll -
ntdll!DbgBreakPoint:
7c911230 cc int 3


Also es scheint, als ob irgendwas mit der Symbol - Datei nicht stimmt. Eine
ähnliche Meldung bekomme ich, wenn ich das Ganze mit meinem eigenen Projekt
(das mit der test.exe / test.pdb) ausprobiere.
Ich komme also gar nicht mehr dazu, die Source-Datei noch zu öffnen, wenn
ich das vorher erledige, ändert sich auch nichts, es wird die gleiche
Fehlermeldung ausgegeben.

Kann mir jemand erklären, wo der Fehler liegt?

Gruß,

Guido Belligoi
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Loigie
Junior JLI'ler



Anmeldedatum: 29.06.2004
Beiträge: 52
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 09.05.2007, 15:33    Titel: Antworten mit Zitat

Hallo

Zitat:

Ich versuche es mit WinDbg, wie
es im Buch von Christian Rousselle vorgeschlagen und erläutert wird.


Von WinDbg hab ich noch nix gelesen. Rolling Eyes
Welech Buch b.z.w. welch Version hast du? und wo steht da was von WinDbg?

Vielleicht probierst du mal die MS Visual C++ IDE aus. Die hat schon einen Debugger eingebaut.

Die Dateien mit der Endung pdb werden bei mir vom Compiler erzeugt und pdb steht für Program Debug Database hat also nichts mit Symbol zu tun. Und für jedes Projekt gibt es eine dementsprechende Datei.

Gruß Loigie
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
DonBlech
Mini JLI'ler



Anmeldedatum: 07.05.2007
Beiträge: 2

Medaillen: Keine

BeitragVerfasst am: 10.05.2007, 13:39    Titel: Antworten mit Zitat

Vielen Dank für die Antwort.
Mein Buch heißt "Jetzt lerne ich Spieleprogrammierung mit DirectX" und ist die - denke ich - aktuellste Version.
In Kapitel 8 glaube ich (ich hab es gerade nicht zur Hand) geht es um's debuggen.
Mein Problem hat sich aber nun erledigt. Ich habe festgestellt, daß sich mein Programm trotz dieser Fehlermeldung debuggen läßt (hatte es zunächst nach Auftreten der Fehlermeldung gar nicht versucht).
Außerdem kann diese Fehlermeldung vermieden werden, wenn man Files mit Symboltabellen von einem Microsoft-Server dazulädt. Die dienen wohl dazu, auch OS-Routinen debuggen zu können, wenn ich das richtig verstanden habe.
Die VC++ IDE benutze ich nicht, stattdessen habe ich eine Kombination aus dem VC++ 2003 Toolkit, CodeBlocks und dem Platform SDK, naja, und eben WinDbg als Debugger.
Die pdb-Dateien, die vom Compiler/Linker erzeugt werden beinhalten die für das Debugging erforderlichen Symbole - so weit ich das verstanden habe, was ich mir in der Zwischenzeit zu der Thematik angelesen habe.
Auf jeden Fall funktioniert das Debugging nun, vielen Dank an alle, die sich die Mühe gemacht haben, mein Ursprungsposting zu lesen.

Guido Belligoi
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum