Autor Beitrag
Drako
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Di 10.03.09 19:25 
Hallo erst mal!

Ich habe mal eine Frage zu Delphi - leider kenn ich mich mit Delphi 0 aus. Folgendes Problem, ich Mode (Modifikationen im Gesetzlichen Ramen) mit Kollegen an einem Spiel und sind da schon weit vorran gekommen. Leider kommt es wie bei jedem Programmieren immer mal vor das sich fehler einschleichen, drum hab ich ein Zusatztoll bekommen, was mir die Fehler aufzeichnet. Der Exception Error wird durch ein Programm namens Mad (SI) oder Mad Collection aufgezeichnet und mir in einer TXT Datei gesichert.

In dieser Exception Datei steht dann allerhand (PC Daten unter anderem) drin und auch das letzte was das Programm gemacht hat, bevor es abstürtzte. Leider ist dieser in HEX geschrieben/ Compailiert und brauche laut einen Kollegenen einen passenden Debugger. Tja Debugger gibts wie Sand am Meer, nur leider keinen passenden für mein Problem.

Hier mal ein Ausschnitt der Exception.txt:

executable : Armada2.exe
current module : Armada2Hook.dll
module date/time : 2009-03-03 22:33
compiled with : Delphi 2006/07
madExcept version : 3.0f
callstack crc : $6816fbc5, $428ffc6c, $428ffc6c
exception number : 1
exception class : EAccessViolation
exception message : Access violation at address 7C9469AA in module 'ntdll.dll'. Read of address 0000001C.

stack dump:
0013f090 bd 59 15 0a 19 00 00 00 - bc 59 15 0a 12 00 00 00 .Y.......Y......
0013f0a0 0b 00 00 00 1c f0 13 00 - 48 f0 13 00 1c f0 13 00 ........H.......
0013f0b0 16 00 00 00 28 f1 13 00 - 94 5c c0 77 10 28 be 77 ....(....\.w.(.w
0013f0c0 ff ff ff ff e0 4a c0 77 - 0a 64 c1 77 09 04 00 00 .....J.w.d.w....
0013f0d0 00 01 00 00 50 f1 13 00 - ff ff ff ff ec f0 13 00 ....P...........
0013f0e0 16 00 00 00 e4 04 00 00 - 01 00 00 00 66 6f 72 63 ............forc
0013f0f0 65 69 6e 76 61 6c 69 64 - 61 74 65 74 61 72 67 65 einvalidatetarge
0013f100 39 64 c1 77 66 f1 13 00 - 6e 9c 71 00 d8 f3 13 00 9d.wf...n.q.....
0013f110 ec f0 13 00 00 00 00 00 - 16 00 00 00 00 00 47 03 ..............G.
0013f120 ec f0 13 00 00 00 00 00 - 98 2f 15 00 8c f1 13 00 ........./......
0013f130 22 02 fb 7f 0b 00 00 00 - 64 f1 13 00 84 a2 80 7c ".......d......|
0013f140 98 2f 15 00 8c f1 13 00 - a2 f1 13 00 34 f2 13 00 ./..........4...
0013f150 3f f2 13 00 00 00 00 00 - 00 00 00 00 0b 00 00 00 ?...............
0013f160 0b 00 00 00 0c f2 13 00 - 4b 49 c0 77 f8 01 3f 00 ........KI.w..?.
0013f170 00 00 00 00 8c f1 13 00 - 18 2a 11 0a 34 f2 13 00 .........*..4...
0013f180 50 01 f9 09 01 00 00 00 - 00 00 00 00 0f 00 00 00 P...............
0013f190 78 01 3f 00 63 00 74 00 - 6e 00 61 00 6d 00 65 00 x.?.c.t.n.a.m.e.
0013f1a0 00 00 c0 77 6f 00 62 00 - 6a 00 65 00 63 00 74 00 ...wo.b.j.e.c.t.
0013f1b0 4e 00 61 00 01 00 00 00 - 00 00 00 00 d8 01 3f 00 N.a...........?.
0013f1c0 20 f2 13 00 22 02 fb 7f - 0f 00 00 00 f8 f1 13 00 ...."...........

disassembling:
[...]
01160317 072 mov [ebp-4], ecx
0116031a 074 mov ecx, [ebp-4]
0116031d 075 push esi
0116031e mov eax, [ebp+8]
01160321 push eax
01160322 > call dword ptr [$11d9d40]
01160328 076 mov [ebp-8], eax
0116032b 079 mov eax, $10
01160330 call -$13d3b1 ($1022f84) ; System.@GetMem
01160335 mov ebx, eax
01160337 081 mov eax, [ebp-4]

Wo im Stack dump der eigentliche Fehler ist. Leider kann man so nicht viel erkennen und laut eines kollegens müsste man nur den passenden Debugger nutzen und kann den HEX Code umwandeln, in normalen Text, da er das auch macht und gut funktioniert. Leider ist er nun ein paar Wochen nicht da und kann mir nicht verraten wie dies funktioniert, welchen Debugger ich nutzen muss.

Ich hoffe auf dem Forum hier kann mir wer weiter helfen?

Schon mal Danke im vorraus!
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 10.03.09 19:29 
Hallo, :welcome: !

user profile iconDrako hat folgendes geschrieben Zum zitierten Posting springen:
laut eines kollegens müsste man nur den passenden Debugger nutzen und kann den HEX Code umwandeln, in normalen Text, da er das auch macht und gut funktioniert.
Da kommt dann aber auch nur Assemblercode heraus. Und wenn du noch nicht einmal einen entsprechenden Debugger / Disassembler kennst, dann würde ich einmal vermute, dass du auch Assembler nicht kannst, oder? Und dann nutzt dir ein solches Tool auch nichts.
Drako Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Di 10.03.09 20:12 
Danke! :)

Jo er sagte schon, dass da nur dieser Assemblercode raus kommen tut. Aber er meinte das dürfte mir reichen, das dürfte den Bereich in dem ich suchen müsste schon gewaltig einschränken.

Und ja da haste leider recht, normales Scripten ist für mich nicht das große Thema wenn sichs im Rahmen hällt, aber den Assembler kenn ich nicht besonders. Er hat mir schon nen wenig was erklärt, aber dann mich naja bissl im Regen stehen lassen - laut ihm ist dies nicht viel arbeit das ich gebacken bekommen müsste. Passender debugger, einladen und dann müsste ich schon genügend erkennen um mir weiter zu helfen, er sagte ich müsste nicht besonders viel da machen.

Kennst du dieses Tool zufälligerweise?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 10.03.09 20:19 
Da gibt es jede Menge, zum Beispiel dieses:
www.hex-rays.com/idapro/

Hier eine Liste weiterer:
dcla.rkhb.de/links_equipment.html

Und wenn du bei Google suchst, dann findest du dort noch jede Menge mehr. Ohne Assemblerkenntnisse wirst du damit aber nicht viel anfangen können. Insbesondere, wenn dir die Funktionsweise einer CPU vielleicht nicht einmal genauer bekannt ist. :nixweiss:
Drako Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Di 10.03.09 20:46 
Glaub ich dir das das net einfach is.^^

Gibt es denn eine andere möglichkeit den Fehlercode da aus zu lesen?