例如,我的程序是MyDbgTest, 我的类与函数是CWindbgTestappDlg::OnBnClickedButton1,
那我设置断点的命令就是
bp MyDbgTest!CWindbgTestappDlg::OnBnClickedButton1。
如果我的程序名称是My Dbg Test,就是程序名称带空格,使用
bp My Dbg Test!CWindbgTestappDlg::OnBnClickedButton1
是不成功的。
仔细看了Windbg的帮助,楞是没找到关于名字带空格的语法解决方法,哪位知道告诉一下。
windbg这种工具可能不会支持那么选择,所以最简单的方式还是修改名称不要带空格
哈哈哈,记过做完2小时,今天上午2小时的摸索与资料搜索,解决了,编译器对以空格为名称的文件编译后的名称是以下划线来命名的。
上图片
里面红线的部分。加载的程序名称是:
Windbg Test app.exe
执行了一个命令:
ln 00a40000
这里的 00a40000 应该是程序的入口地址,这个命令是显示程序函数地址的。
出现了令人欣喜的一行【出乎我的意料】
Windbg_Test_app!__ImageBase
Windbg_Test_app就是编译后的模块名称符号。
设置断点:
bp Windbg_Test_app!CWindbgTestappDlg::OnBnClickedButton1
成功。