 |
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Faller Junior JLI'ler
Alter: 37 Anmeldedatum: 30.11.2006 Beiträge: 88 Wohnort: Dresden Medaillen: Keine
|
Verfasst am: 08.11.2007, 15:44 Titel: Disassemblierung Fehler NTDLL.DLL |
|
|
Hallo
Na wer kann was mit dieser Überschrift anfangen SRY aber das beschreibt mein Fehler wenigstens ein bischen.
was fürn fehler ich habe keine Ahnung.
Mein Programm an dem ich gerade arbeitet soll ein Bild übertragungs Programm werden das Bilder von Rechner a auf Rechner b transportiert.
Das funktioniert auch.
Machmal kommt dann halt eben eine Windowsfehler Meldung.
Das kann nach dem 5000 bild sein oder aber auch nach dem 120.
Unbehandelte Ausnahme in png selbst.exe (NTDLL.DLL) 0*c0000000005;
Access Violation
Dieser Fehler weist ja auf einen Zeiger der noch nicht belegt ist.
Wenn ich das programm im Debuggmudus starteund dann dieser fehler auftritt. bin ich im Disassemblierung "modus"
was ja die umgehrung von complimierung ist zumindestens laut wiki.
und hänge dort an folgender Zeile fest.
7C911010 cmp dword ptr [edx+14h],0
Im Normal Fall kann man jetze nach oben scrollen und ihrgentwann kommt dann mal der eigentliche Befehl den man aufgeruffen hat.
Hier nicht das heist ich weis nicht wo im eigentlichen Programm also c++ Code der Fehler ist.
Ich arbeite mit Visuel Studio 6.0 Autoren edition von der CD.
Mein code hat 0 Fehler 0 Farnings
Ich weis das das nichts bedeutet.
Wie kann ich den Fehler logaliesieren.
ein Grossteil der der Veränderungen log ich in txt datein schon mit aber ohne überhaupt keinen ansatz weis ich nicht wo der fehler zufinden sein könnte.
Wist ihr wo ich bessere informationen als bei Google finden könnte.
Der Grossteil hat mit gothic 2 3 zutun??
MSDN hab ich auch schon durchsucht.
Nix zu finden.
Fragen über Fragen und Einproblem das ich nicht verstehe und auch nicht beheben kann.
Ich hoffe auf viele Antworten die mich meinem Problem beheben lassen.
Mfg Faller
Ein werwirter Porgrammierer. _________________ versuche alles nur wann und wie ist die frage |
|
Nach oben |
|
 |
The Lord of Programming Living Legend

Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 08.11.2007, 17:42 Titel: Re: Disassemblierung Fehler NTDLL.DLL |
|
|
Faller hat Folgendes geschrieben: | Ich arbeite mit Visuel Studio 6.0 Autoren edition von der CD.
Mein code hat 0 Fehler 0 Farnings |
Ich weiß nicht, was du da für ne Version hast, aber entweder sollte da stehen "x errors and y warnings" oder "x Fehler und y Warnungen"
Um zu deinem Problem zu kommen: Solche Zugriffsverletzungen, die dir selbst im Debugmodus nur als Disassembly angezeigt werden, deuten idR. darauf hin, dass der Fehler im "tieferen" Code, der nicht von dir stammt, (unwahrscheinlich) verursacht wird, oder aber (sehr wahrscheinlich) dort auftritt, dadurch dass er von dir verursacht wird, indem du diesen Fremdcode (von DirectX, winapi, whatever...) fehlergemäß nutzt.
Ich bin mir nicht sicher, obs das bei VS 6.0 schon gab, aber schau mal, ob du dir beim Debuggen eine Aufrufsliste anzeigen lassen kannst. Die Codeteile, die nicht in DLLs also in "Reinform" vorliegen, sollten dort schwarz (die anderen grau) dargestellt werden. Schaust du dort, was genau aufgerufen wird, bevor du in den grauen Code kommst, kann dir das einen Hinweis geben, wo du suchen musst.
Falls du damit nichts anfangen kannst/nicht weiter kommt, empfehle ich, per Logfile o.ä. eine eigene Aufrufsliste zu erstellen. Der Sinn ist, dass bestimmte Kontrollpunkte im Code abgeklappert werden und ein entsprechendes Stichwort in eine Logdatei geschrieben wird. So kannst du auch herausfinden, wo letztendlich der Fehler aufgetreten ist.
Wenn das ganze in der NTDLL.DLL auftritt, wird es sehr wahrscheinlich auch damit etwas zu tun haben. Überprüfe, ob du den von dieser DLL zur Verfügung gestellten Code tatsächlich ordnungsgemäß benutzt. Oft gibts ja da eine Doku, die dir sagt, worauf du achten musst
Ich fürchte, viel weiter können wir dir da nicht helfen... _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
 |
DirectXer Dark JLI'ler

Anmeldedatum: 05.02.2005 Beiträge: 1201 Wohnort: Köln Medaillen: Keine
|
Verfasst am: 08.11.2007, 17:47 Titel: |
|
|
Mit der dissassemblierten Zeile wo der Fehler auftritt wirst du wahrscheinlich nicht viel anfangen können, da (wie auch die MsgBox zeigt) der Fehler in der NTDLL auftritt. Weil dort kein C++-Code enthalten ist, findest du auch keine Zeile bei der Dissassemblierung; du kommst überhaupt auch nur dorthin, weil es keine höhere Ebene ( = c++-Code) gibt, die den Auftritt des Fehlers zeigt. Da es ziemlich unwahrscheinlich ist, dass die NTDLL falsch gecodet wurde (obwohl WIndows ja so einige Macken hat... ), muss der Fehler in deinem Programm liegen. Ich denke mal du übergibst einen falschen Parameter an eine Win32-Funktion, die in der NTDLL definiert ist. Der Fehler tritt dann in dieser Form auf, weil Windows mit dem Fehlerreport auf dieser Ebene nicht so genau ist. Daher solltest du mal schauen, ob du den verantwortlichen Teil in deinem Code eingrenzen, und dort speziell alle Parameter an Windows Funktionen untersuchen kannst.
Gruß DXer
EDIT: Hmm TLOP war schneller Aber wir sind wohl einer Meinung, gutes Zeichen  |
|
Nach oben |
|
 |
Jonathan_Klein Living Legend

Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 08.11.2007, 20:26 Titel: |
|
|
evtl. könnte man mal mit exceptions rumprobieren
Ich hatte mal ein sehr seltsames Problem: Einen tga Loader, der scheinbar zufällig irgendwann abstürzt. Das aber nur auf einem anderen Rechner. Mit Exceptins hatte ich es irgendwann soweit, das es lief, nur ein Bild wurde halt nicht korrekt geladen, der Rest ging aber. _________________ https://jonathank.de/games/ |
|
Nach oben |
|
 |
Faller Junior JLI'ler
Alter: 37 Anmeldedatum: 30.11.2006 Beiträge: 88 Wohnort: Dresden Medaillen: Keine
|
Verfasst am: 09.11.2007, 09:24 Titel: |
|
|
Das Problem ist das das Problem erst nach 1.5 std ungefähr auftritt.
Ich loge schon mit die kritischen Funktionen also wenn sie starten schreib ich in eine text datei rein "start (funktion)" und wenn sie zuende ist schreibe ich in die datei "ende (funktion)"
Das Problem ist das beim beenden des programms scheinbar noch die Funktionen ausgeführt werden die möglich sind und dann steht halt auch das ende noch drinne.
Wie könnte ich das programm 100% umnieten so das er mit sicherheit nicht noch schreiben kann.
Problem ist das ich mit Treads arbeite und das das debugen nicht gerade leichter macht.
Jemand ne idee wie man threads leichter debugt bei fehlern??
ps bei mir im VS steht "0 Fehler, 0 Warnung(en)" gg
The Lord of Programming :
Aufrufsliste ne idee nach was genau man im internet suchen müsste um dies umstellen zu können "also wo man das findet"???
Visuel hat ne menge funktionen.
mfg Faller _________________ versuche alles nur wann und wie ist die frage |
|
Nach oben |
|
 |
The Lord of Programming Living Legend

Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 09.11.2007, 16:09 Titel: |
|
|
Faller hat Folgendes geschrieben: | The Lord of Programming :
Aufrufsliste ne idee nach was genau man im internet suchen müsste um dies umstellen zu können "also wo man das findet"??? |
"Aufrufliste Visual Studio 6.0", ganz einfach.
Erstes Ergebnis führt hier hin.
Jetzt wo du sagst, dass du unterschiedliche Threads verwendest...
Ich hab zwar noch nicht viel mit Threads gemacht, aber das kann durchaus auch die Fehlerquelle sein, wenn auf bestimmte Dinge von zwei Threads aus "gleichzeitig" zugegriffen wird.
Eine andere Möglichkeit wäre es, falls das mit den Threads nicht zu komplex verschaltet ist, zu probieren, ob es funktioniert, wenn du alles in einen Thread packst. _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
 |
Faller Junior JLI'ler
Alter: 37 Anmeldedatum: 30.11.2006 Beiträge: 88 Wohnort: Dresden Medaillen: Keine
|
Verfasst am: 09.11.2007, 16:27 Titel: |
|
|
Thx für eure antworten
ich hab den fehler gefunden und nen neuen auch ggg.
ok mein fehler lag darin das ich den buffer zuklein bestimmt habe.
dann schrieb er in ein interger rein was nadürlich explodierte.
und dieses i war dan damit beschäftig im hdc das bild an die richtige stelle zu schreiben.
was nadürlich zu ner speicher überschreitung manchmal fürte.
eigentlich sind meine pakete beschrängt auf 2000 zeichen und das 2001 hats dann gebackt das ganze ding runter zu jagen.
Fals ihr mal so ein prob habt denn der fehler kann über all sein.
logt das "gesammte" programm mit an den stellen einfach die datei neu öffnen und nach dem schreiben schliessen.
und immer wenn der fehler auftitt das gesammte prog im task manager killen den kompletten prozess runter hollen denn wie bei mir arbeit der nämlich weiter und schreibt dann auch den rest sauber rein.
finde ich wichtig deswegen schreib ich es jetze mal hier auf hoffe es hilft jemand.
mfg faller
ein überglücklicher programmierer der ein scheiss dll fehler behoben hat.
der verrückt wird wieviele fehler in 2000 zeilen 3 programme rein passen gg.
ein schönes wochende _________________ versuche alles nur wann und wie ist die frage |
|
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
|