阅读:1901回复:6
关于softice调试应用程序中,无法设置断点问题
我自己随便编了一个弹出一个MessageBox的小程序,我想用softice在MessageBox函数上设一个断点,
bpx MessageBox 可softice去显示 Symbol not defined (MessageBox)这是怎么回事? 当我设置bpx MessageBoxA 时就可以,但是却无法拦截我自己的应用程序的 MessageBox 我是用Boot启动softice的, 请各位高手帮我看一下,我想可能是要在哪里做一个 小改动 |
|
沙发#
发布于:2003-11-12 23:33
MessageBox函数在USER32。DLL里面,不过没有这个MessageBox函数,只有MessageBoxA和MessageBoxW,一般前者会调用后者,所以直接BPX MessageBoxW,即可。
|
|
|
板凳#
发布于:2003-11-13 22:14
多谢大虾指点,我还是没成功
我的测试程序 #include \"stdafx.h\" int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { MessageBox(0,\"ok\",\"ok\",MB_OK); return 0; } 然后我用Symbol Loader 读取了mytest.exe , 在softice中设置了断点 bpx MessageBoxW 和bpx MessageBoxA 然后运行mytest.exe , 仍然没有产生任何中断,请大虾继续帮助我阿 |
|
地板#
发布于:2003-11-14 14:22
先执行一个进程,确保该函数被影射入地址空间,然后下断点,2K与9X不同的是,DLL也是动态影射的。
|
|
|
地下室#
发布于:2003-11-17 20:37
我写了一个mfc的对话框应用程序,在一个button的响应函数中
void CDialTestDlg::OnButton13() { ::MessageBox(0,\"aaa\",\"bbb\",MB_OK); } 我先loader 了这个程序 , 然后运行它 在调出softice 这时下断点 bpx MessageBox 这位大侠 , 我这样做对吗 ? 可我还是无法下断点,softice还是告诉我Symbol not define 我还是无法拦截MessageBox调用 |
|
5楼#
发布于:2003-11-17 20:38
真是邪门了! 这到底是怎么回事?
|
|
6楼#
发布于:2003-11-19 08:54
wowocock说的很清楚了,user里面没有MessageBox这个函数,只有MessageBoxA和MessageBoxW这2个函数。
你可以用exp MessageBox看一下 一般来说,你如果用ANSI模式编译程序,调用的是MessageBoxA |
|