问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

windbg是怎么调试程序的异常

发布网友 发布时间:2022-05-03 05:05

我来回答

2个回答

懂视网 时间:2022-05-03 09:26

  Ctrl+Alt+Delete打开任务管理器-->详细信息-->选择对应的应用名称,右键选择创建转储文件,等待文件创建完成。

2、打开WinDbg工具

2.1 设置符号表的方式

  选择File>Symbol File Path,设置pdb文件的位置为待调试exe的pdb文件(即testWindbg.pdb)所在位置。内容为:pdb文件和exe文件所在的目录;SRV*e:mysymbol* http://msdl.microsoft.com/download/symbols

路径以‘;‘(分号)为分隔,mysymbol为本地缓存符号的目录

2.2 设置源代码路径

  选择File>Source File Path,设置源代码文件的位置为待调试exe的源码文件(即main.cpp)所在位置,即是源代码所在的目录。

2.3 打开带调试的可执行文件

  选择File>Open Executable,打开待调试exe,若需要外部参数可以填在Arguments中。

2.4 问题

1)填入符号表后界面出现 *** ERROR:Symbol file could not be found.Default to export symbols for ntdll.dll

不需要理会,会在后续自动进行加载,使用lm查看加载的模块,会发现已经加载。
  *** ERROR: Symbol file could not be found. Defaulted to export symbols for C:WindowsSysWOW64RPCRT4.dll -
  ModLoad: 00000000`776a0000 00000000`77760000 C:WindowsSysWOW64RPCRT4.dll

3、调试——定位程序崩溃的原因

1)输入.reload命令重新加载符号
2)输入指令g执行线程(会在程序结束、遇到断点或者其他造成调试器停止的事件发生时停止)
  (4ba4.3f94): WOW64 breakpoint - code 4000001f (first chance)
  First chance exceptions are reported before any exception handling.
  This exception may be expected and handled.
说明: 暗示本程序运行时会有问题。
3)继续执行g
  直到按下某个键时,出现定位到某行代码位置(该行代码引起程序崩溃),WinDbg界面会提示崩溃的原因。

4、断点调试

1)输入.reload命令重新加载符号
2)使用bp命令设置断点
  bp 函数名
  bp ‘main.cpp:3‘,在main函数第三行代码处设置断点
  bp main+5c,在main函数偏移5c位置设置断点
  x 可执行文件名!*char*查找相关函数名后,用bp指令在某个函数设置断点(bp 地址/bp 函数名)

  bl 列出当前存在的断点和他们的状态
  bc 移除一个或多个断点
  bd 暂时禁用一个或多个断点
  be 重新启用一个或多个断点
  ba 设置数据断点。这种断点在指定内存被访问时触发
  br 修改一个已存在的断点的ID

3)g
  Breakpoint 0 hit
  ......
  ......
说明运行到断点位置

4)单步调试p或F10
5)单步跳入t或F11
6)单步跳出gu或Shift+F11
7)查看变量
  dv:局部变量
  dv /i:局部变量, 并显示符号的类型和参数类型
  dv /V:局部变量, 并显示变量的存储位置.
  dt:命令显示局部变量、全局变量或数据类型的信息。它也可以仅显示数据类型。即结构和联合(union)的信息
  dv tt
  dt tt

  db:查看某个内存的字节值和ASCII字符
  dc:命令查看查看某个内存的双字值和ASCII字符
  du:命令查看Unicode字符

WinDbg单机调试

标签:外部   指令   expect   download   com   dll   全局变量   状态   自动   

热心网友 时间:2022-05-03 06:34

windbg有个debug下拉菜单,这个菜单里面有个Event filters选项,对这里面的进行设置就能过掉相应的调试事件了。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
畅享好还是荣耀好 怎么向老师请教问题?? ...和是40.15较大数的小数点向左移动一位就等于较小的数,这两_百度知... 两个数的和是40.15,较大数的小数点向左移动一位就等于较小的数这两... 两个数的和是40.15,较大的数的小数点像向左移动一位就等于较小的数... 两个数的和是40.15,较大数的小数点向左移动一位等于较小的数 ...和是40.15较大数的小数点向左移动一位就等于较小的数这两个数分别... 怎么用手机查询农行信用卡余额? 朝阳公园附近有孩子可以托管的地方吗? 华泰证券怎么添加第二张银行卡 比特币怎么汇到别人账户上 我在BITMAX钱包有比特币,现在网页直接进不去,怎么办?在线等,我很着急 授权的比特币国际钱包还是登录不上 比特币钱包身份码没授权,登陆不上,已经往里面充钱了,怎么办?怎样才能登录上? 为什么支付宝里的黄金现在金价比买入金价高,反而还是亏钱? 支付宝黄金涨跌和伦敦金涨跌有关系吗? 癌症病人一睡着就打鼾是啥子意思? 睡觉总打鼾,掌握哪几个方法,让枕边人能睡个安稳觉? 打鼾的意思是什么呀?方法有知道的吗? 睡觉打呼噜一直打下去是什么意思?打到什么时候 关于睡觉打呼噜问题~ 我寝室的人晚上睡觉打呼,怎么办? 男朋友在我床上睡觉睡的打呼这说明什么?是不是爱我的意思? 打鼾的意思是什么 打鼾是什么意思 自己都受不了? 打鼾是什么意思 打鼾是什么意思?方法谁有? 睡觉打呼噜是什么意思? 是什么意思,打鼾近义词,打鼾反义词,拼音,解释 小米3,云服务应用不小心删除了,怎么能恢复呢? pr关键帧距离设置为多少 妇人梦见花生和糖 梦见自己吃别人买的花生糖吃的好甜,自己去买却买不到是代表什么 做梦梦见吃夹心花生糖豆怎么回事 普通话等级考试多少钱,福建这的人可以考到什么等级 非师范类已毕业生考普通话证的费用一般是多少?去哪里能了解得到更详细的呢? 带臻字的女孩名字 桂芮臻这个名字怎么样? “臻”字是什么意思,寓意好吗,女孩取名叫“王臻”好吗? 炒瓢哪个好 女孩王梦臻好听吗? 铜炒瓢能能炒菜吗? 女孩名字怡臻的含义解释 炒瓢是什么意思? “采”可以组哪些词语? “臻”字什么意思,含义是什么,女孩,叫王臻行吗? 雷姓女孩结尾带臻名字大全 黑亮的炒瓢是什么涂层? 我家的炒瓢炒菜时为啥老转了? 谢籽臻女孩名字怎样