VS调试器未命中断点问题总结

    本文主要总结我在实际工作遇到的一种程序调试问题——VS调试器未命中断点。我主要谈的是用VS调试C++程序。

一、程序分支

    调试程序的时候,最常用的就是设置断点(F9, bp - break point)并执行(F5,go or run)。程序员在预先需要程序执行流停下来的代码行设置断点(F9),然后按F5开始执行程序流,程序执行到断点的代码行会停下来,这个时候,程序员可以通过查看变量、内存、调用堆栈等方式来观察程序执行的情况。

    一般来说,上述调试方式中,调试器未命中断点,极大的可能是你设置断点不在程序执行流中,或者说程序执行流走的是其他分支,没有经过你设置断点的分支。这种情况下,你就需要去分析程序的分支逻辑和设置更多的断点来一个个排查。


二、输出目录和工作空间不一致

    除了调试exe工程,有时候,我们也需要调试DLL工程,这个时候,我们会将相应的exe文件拷贝到DLL工程的debug目录下,并设置该目录为VS调试器的工作空间,然后设置启动项为exe。通过上述一系列设置,我们就可以开始调试DLL工程代码了。

    有时候,我们会发现一个奇怪的现象:在按下F5启动程序之前,我在DLL工程代码中设置了几个断点,并显示了“红色实心圆点”,但是,一当我们按下F5启动程序,之前设置的“红色实心圆点”瞬间变成了“空心圆点”,然后,你会发现你设置的断点未命中。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值