  | 
				
					JLI Spieleprogrammierung
    
					
					
				 | 
			 
		
	
 
		 
	
		| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen   | 
	 
	
	
		| Autor | 
		Nachricht | 
	 
	
		DonBlech Mini JLI'ler
 
 
  Anmeldedatum: 07.05.2007 Beiträge: 2
  Medaillen: Keine 
	
  | 
		
			
				 Verfasst am: 07.05.2007, 22:47    Titel: Wie debuggen? | 
				     | 
			 
			
				
  | 
			 
			
				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 | 
		 | 
	 
	
		  | 
	 
	
		Loigie Junior JLI'ler
  
 
  Anmeldedatum: 29.06.2004 Beiträge: 52 Wohnort: NRW Medaillen: Keine 
	
  | 
		
			
				 Verfasst am: 09.05.2007, 14:33    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				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.   
 
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 | 
		 | 
	 
	
		  | 
	 
	
		DonBlech Mini JLI'ler
 
 
  Anmeldedatum: 07.05.2007 Beiträge: 2
  Medaillen: Keine 
	
  | 
		
			
				 Verfasst am: 10.05.2007, 12:39    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				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 | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
	 
	    
	   | 
	
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 
 |