vs调试,堆栈中没有当前对应模块的文件模块(文件名)和函数

调试问题排查:调试动态库,附加到进程,堆栈中没有当前对应模块的文件模块(文件名)和函数。

错误现场的情况
1、调试员已经拿到了源码,打上了断点,放置的pdb符号文件,附加到进程。
2、但是在下方调用堆栈的窗口中并没有显示当前的文件模块。
3、没有显示文件模块自然也就无法显示“已加载符号”。也就无法正常调试了。

正常情况下:附加时会显示当前模块,一般就是文件名,以及显示该模块“已加载符号”。

原因
1、是附加到进程时的进程号选择错误,导致该进程中并没有调用到当前调试模块对应的动态库和函数。
2、进程的运行未涉及到当前的调试模块,故堆栈中无法查找到当前文件模块,没有文件模块自然无法加载pdb符号。

解决方法
1、确认了是附加到进程操作中进程号的选择出现了错误。
2、就需要点击调试-》分离,或调试-》停止调试,将功能模块与进程分开。
3、然后由调试员通过软件寻找准确进程号,或询问他人得到准确进程号。
4、使用准确的进程号重新进行附加到进程的操作。

此类问题定位思路
前提:调试员知道调用堆栈窗口的作用,并知道正常调试的情况。
附加到进程以后,调用堆栈窗口会显示被附加的进程调用的模块和函数,并可以将指定了路径的pdb文件,加载给被调用的模块,然后才可以对相应的加载了pdb符号的模块进行调试,

具体现象
1、无法在调用堆栈中找到当前需要被调试的功能模块,
2、结合调用堆栈窗口的功能可知,当前进程没有调用当前功能模块
3、正常情况下,当前进程应该要调用当前功能模块

推导:进程号选择有误

解决方法:寻找准确的进程号后再附加到进程。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值