used: 960fe6b5cf88769a42949f5fedf62827 *open-watcom-c-linux-1.9 Program received signal SIGFPE, Arithmetic exception. 0x0805db2d in GUIGetRoundScale_ () (gdb) bt #0 0x0805db2d in GUIGetRoundScale_ () #1 0x08052c2a in GenericDialog_ () #2 0x08078b7d in WResReadDir2_ () #3 0xbfffe9c8 in ?? () Backtrace stopped: previous frame inner to this frame (corrupt stack?) (gdb) p GUIGetRoundScale_ disas 0x805daf0 (Ergebnis siehe unten/ look at the bottom) 0x0805db0f <+31>: jge 0x805db26 info reg break *0x0805db08 run 2xNOP set *(char*)0x0805db0f=0x90 set *(char*)0x0805db10=0x90 1xNEAR-RET: set *(char*)0x08066a40=0xc3 set *(char*)0x08057ec0=0xc3 set *(char*)0x0805a3ff=0x90 ~~~ source patch-owc-1.9-linux.gdb ---- nächster Fehler ---- CLTD = CDQ (Maschineninstruktion) Program received signal SIGFPE, Arithmetic exception. 0x08066a44 in GUIMulDiv_ () (gdb) disas Dump of assembler code for function GUIMulDiv_: 0x08066a40 <+0>: imul %edx,%eax 0x08066a43 <+3>: cltd => 0x08066a44 <+4>: idiv %ebx 0x08066a46 <+6>: ret 0x08066a47 <+7>: lea 0x0(%eax),%eax 0x08066a4d <+13>: lea 0x0(%edx),%edx End of assembler dump. (gdb) bt #0 0x08066a44 in GUIMulDiv_ () #1 0x0805dc44 in GUIConvert_ () ---- nächster Fehler ---- Program received signal SIGSEGV, Segmentation fault. 0x08057ec5 in GUIDrainEvents_ () (gdb) bt #0 0x08057ec5 in GUIDrainEvents_ () #1 0x08048735 in GUImain_ () #2 0x00000000 in ?? () (gdb) disas Dump of assembler code for function GUIDrainEvents_: 0x08057ec0 <+0>: mov 0x808d1ec,%eax => 0x08057ec5 <+5>: orb $0x4,0x6c(%eax) 0x08057ec9 <+9>: mov $0x808d1f4,%eax 0x08057ece <+14>: call 0x80607b3 0x08057ed3 <+19>: xor %eax,%eax 0x08057ed5 <+21>: call 0x80608a8 0x08057eda <+26>: cmp $0x21a,%eax 0x08057edf <+31>: je 0x8057ef1 0x08057ee1 <+33>: call 0x80608d0 0x08057ee6 <+38>: test %eax,%eax 0x08057ee8 <+40>: je 0x8057ef1 0x08057eea <+42>: call 0x80613b0 0x08057eef <+47>: jmp 0x8057ed3 0x08057ef1 <+49>: call 0x8060811 0x08057ef6 <+54>: mov 0x808d1ec,%eax 0x08057efb <+59>: andb $0xfb,0x6c(%eax) 0x08057eff <+63>: ret End of assembler dump. ---- nächster Fehler ---- Program received signal SIGSEGV, Segmentation fault. 0x0805a408 in GUIJustSetWindowText_ () (gdb) disas Dump of assembler code for function GUIJustSetWindowText_: 0x0805a3f0 <+0>: push %ecx 0x0805a3f1 <+1>: sub $0x4,%esp 0x0805a3f4 <+4>: mov %eax,%ecx 0x0805a3f6 <+6>: mov %edx,%eax 0x0805a3f8 <+8>: mov %esp,%edx 0x0805a3fa <+10>: call 0x8057dc0 0x0805a3ff <+15>: test %al,%al 0x0805a401 <+17>: jne 0x805a408 0x0805a403 <+19>: add $0x4,%esp 0x0805a406 <+22>: pop %ecx 0x0805a407 <+23>: ret => 0x0805a408 <+24>: mov 0x4(%ecx),%eax 0x0805a40b <+27>: call 0x8057c90 0x0805a410 <+32>: mov (%esp),%eax 0x0805a413 <+35>: mov %eax,0x4(%ecx) 0x0805a416 <+38>: mov $0x1,%al 0x0805a418 <+40>: add $0x4,%esp 0x0805a41b <+43>: pop %ecx 0x0805a41c <+44>: ret 0x0805a41d <+45>: lea 0x0(%eax),%eax End of assembler dump. ---- nächster Fehler ---- Program received signal SIGSEGV, Segmentation fault. 0x08092f10 in ?? () (gdb) bt #0 0x08092f10 in ?? () #1 0xbfff5034 in ?? () (gdb) disas No function contains program counter for selected frame. (gdb) info reg eax 0x0 0 ecx 0x8092e50 134819408 edx 0xbfffe824 -1073747932 ebx 0x0 0 esp 0xbfffe828 0xbfffe828 ebp 0xbfffea18 0xbfffea18 esi 0x8092e50 134819408 edi 0xbfffe864 -1073747868 eip 0x8092f10 0x8092f10 eflags 0x10a07 [ CF PF IF OF RF ] cs 0x73 115 ss 0x7b 123 ds 0x7b 123 es 0x0 0 fs 0x0 0 gs 0x0 0 (gdb) disas 0x08092f10 No function contains specified address. (gdb) disas 0xbfff5034 No function contains specified address. ~~~~~~~~~~~~~~~~~~~ DIV-BY-ZERO that was corrected first ~~~~~~~~~~~~ (gdb) disas 0x805daf0 Dump of assembler code for function GUIGetRoundScale_: 0x0805daf0 <+0>: push %ecx 0x0805daf1 <+1>: push %edx 0x0805daf2 <+2>: push %esi 0x0805daf3 <+3>: push %edi 0x0805daf4 <+4>: sub $0x10,%esp 0x0805daf7 <+7>: mov %eax,%ecx 0x0805daf9 <+9>: mov %esp,%eax 0x0805dafb <+11>: call 0x805dbd0 0x0805db00 <+16>: mov (%ecx),%eax 0x0805db02 <+18>: cmp 0x8(%esp),%eax 0x0805db06 <+22>: jl 0x805db11 0x0805db08 <+24>: mov 0x4(%ecx),%eax 0x0805db0b <+27>: cmp 0xc(%esp),%eax 0x0805db0f <+31>: nop 0x0805db10 <+32>: nop 0x0805db11 <+33>: mov 0x8(%esp),%eax 0x0805db15 <+37>: mov %eax,(%ecx) 0x0805db17 <+39>: mov 0xc(%esp),%eax 0x0805db1b <+43>: mov %eax,0x4(%ecx) 0x0805db1e <+46>: add $0x10,%esp 0x0805db21 <+49>: pop %edi 0x0805db22 <+50>: pop %esi 0x0805db23 <+51>: pop %edx 0x0805db24 <+52>: pop %ecx 0x0805db25 <+53>: ret 0x0805db26 <+54>: mov (%ecx),%eax 0x0805db28 <+56>: mov 0x8(%esp),%esi 0x0805db2c <+60>: cltd 0x0805db2d <+61>: idiv %esi 0x0805db2f <+63>: mov %esi,%edx 0x0805db31 <+65>: imul %eax,%edx 0x0805db34 <+68>: mov %edx,(%ecx) 0x0805db36 <+70>: mov 0x4(%ecx),%eax 0x0805db39 <+73>: mov 0xc(%esp),%edi 0x0805db3d <+77>: cltd 0x0805db3e <+78>: idiv %edi 0x0805db40 <+80>: mov %edi,%edx 0x0805db42 <+82>: imul %eax,%edx 0x0805db45 <+85>: mov %edx,0x4(%ecx) 0x0805db48 <+88>: add $0x10,%esp 0x0805db4b <+91>: pop %edi 0x0805db4c <+92>: pop %esi 0x0805db4d <+93>: pop %edx 0x0805db4e <+94>: pop %ecx 0x0805db4f <+95>: ret End of assembler dump. (gdb) (gdb) info reg eax 0x2710 10000 ecx 0x8090458 134808664 edx 0x0 0 ebx 0xbfffea01 -1073747455 esp 0xbfffe884 0xbfffe884 ebp 0xbfffea18 0xbfffea18 esi 0x0 0 edi 0x8052c2a 134556714 eip 0x805db2d 0x805db2d eflags 0x10202 [ IF RF ] cs 0x73 115 ss 0x7b 123 ds 0x7b 123 es 0x7b 123 fs 0x0 0 gs 0x0 0