0
問題是與調試代碼,有一些DLL函數的調用,這一個和其他人相同的dll:GDB不能`next`在一個非系統DLL函數調用
EdsGetCameraList(&l);
當我打破這條線,然後發出next
命令,我得到一個
(gdb) n
0x1000e620 in ??()
0x1000e620
是EdsGetCameraList地址:
(gdb) disas find_cam,+20
Dump of assembler code from 0x401783 to 0x401797:
0x00401783 <find_cam+0>: push ebp
0x00401784 <find_cam+1>: mov ebp,esp
0x00401786 <find_cam+3>: sub esp,0x48
=> 0x00401789 <find_cam+6>: lea eax,[ebp-0x14]
0x0040178c <find_cam+9>: mov DWORD PTR [esp],eax
0x0040178f <find_cam+12>: mov eax,ds:0x4092dc
0x00401794 <find_cam+17>: call eax
0x00401796 <find_cam+19>: sub esp,0x4
End of assembler dump.
(gdb) x 0x4092dc
0x4092dc <[email protected]>: 0x1000e620
難怪,如果我鍵入next
我再次得到:
這是怎麼回事?