调试汇编代码是一场艰辛晦涩的旅程,幸好有bochs,幸好有各种提示信息,为这场旅行带来了一丝的光明:今天分分享如何快速定位代码在哪里崩掉了:
<bochs:27> u /10
00007cb3: ( ): mov ebx, 0x00040000 ; bb00000400
00007cb8: ( ): mov di, 0x0000 ; 66bf0000
00007cbc: ( ): mov si, 0x0001 ; 66be0100
00007cc0: ( ): call .+154 ; e89a000000
00007cc5: ( ): mov eax, dword ptr ds:[ebx] ; 8b03
00007cc7: ( ): mov ecx, 0x00000200 ; b900020000
00007ccc: ( ): div eax, ecx ; f7f1
00007cce: ( ): mov ecx, eax ; 89c1
00007cd0: ( ): cmp eax, 0x00000000 ; 83f800
00007cd3: ( ): jz .+29 ; 741d
<bochs:28> b 0x7cc5
<bochs:29> c
00035650269e[CPU0 ] stackPrefetch(4): access [0x0000fffc] &g