Visual Studio在调试时随机在启动时中断断点
Visual Studio breaks on breakpoint on start randomly while debugging
在Visual Studio 2015调试器中启动Visual C++ATL/WTL应用程序时,有时一旦启动调试,Visual Studio就会中断一个不存在的断点,在经典的异常窗口中声明:
"Appname.exe遇到断点"
中断|取消|继续
没有提供有关该异常的其他信息。当我闯入时,有时它会说
没有可用的源代码
而其他一些时间是
帧不在模块中
无论哪种方式,当我点击"显示拆卸"时,我看到的是:
...
77038EFD ?? ??
77038EFE ?? ??
77038EFF dec dword ptr [ecx-76FBDBBCh]
77038F05 pop esp
77038F06 and al,8
77038F08 jmp __RtlUserThreadStart@8 (77025D93h)
77038F0D lea ecx,[ecx]
_KiFastSystemCall@0:
77038F10 mov edx,esp
77038F12 sysenter
77038F14 lea esp,[esp]
77038F1B jmp _KiFastSystemCallRet@0 (77038F20h)
...
它完全在上中断
77038EFF dec dword ptr [ecx-76FBDBBCh]
如果我跨出、进入或继续,应用程序就会启动并正常工作。
编译应用程序时没有进行优化,并且启用了所有调试标志。正如我在一开始所说,这种情况只是偶尔发生,比如说三分之一的时候。应用程序在两次启动之间始终相同。
如果我在VS之外启动同一个应用程序,它就会正常工作。
你知道是什么导致了这种奇怪的行为吗?
事实证明,这种奇怪的行为似乎是由启用条件断点触发的。
即使断点被禁用,该行为也会继续保持,直到VS重新启动为止。
相关文章:
- 无法删除指针,已触发断点
- 条件断点在不应该触发时触发
- 类成员和中断
- 捕获标准输出以压缩并使用 CTRL-C 中断会给出损坏的 zip 文件
- 我的代码运行良好,但在游戏循环中中断
- 使用带有MCP23017的 pigpio 进行中断读取
- 为什么我在 AVR 中的中断无法正常工作?
- GDB 断点在 Mac 上是不准确的
- 使用 UDP 中断 while()-循环
- C++:在不中断共享的情况下通过引用传递共享 PTR?
- 如何在 CompleteAsyncIO 中访问 IOMemoryBufferDescriptor,该描述符通过中断 EP
- 如何为伺服电机创建中断或返回值?
- 开关:无外壳中断
- 如何使用中断停止循环?
- 在 vscode 中运行时无法暂停或设置断点
- 为什么当我输入一个被接受的数字时,我的 do-while 循环没有中断?
- 在 Ubuntu 中编译 SuiteSparse,在安装 CHOLMOD 时中断
- Visual Studio在调试时随机在启动时中断断点
- 为什么代码在代码块中的断点处没有中断
- 断点安装失败:中断失败