- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
偶尔,当我使用 VS2012 在 Debug模式下启动/调试我的应用程序时,我会得到一个对话框:
<blahblah.exe> has triggered a breakpoint.
它不包含其他信息,所以我点击 break 看看发生了什么。哦,但是后来我得到“wntdll.pdb not loaded”,并且没有关于该问题的其他信息。调用堆栈指向 ntdll.dll,此时我的应用程序似乎还没有开始执行。
此时选择继续将使应用程序/调试器照常继续。
这种情况经常发生(10 次发射中大约有 7 次发射)。我正在运行 Windows 8(64 位)和带有更新 1 的 Visual Studio 2012。
以前我有 Windows 7(64 位)和 VS2010,从来没有遇到过这个问题。这个特定的项目已经从它在 (2010) 中创建的版本升级,所以这可能是问题的一部分。
以前有人遇到过这个问题吗?我不知道从哪里开始寻找原因。虽然我运行的是 64 位 Windows,但我应该指出我正在构建 32 位应用程序。
更新:启用 Microsoft 符号服务器后,调用堆栈如下所示:
> ntdll.dll!_LdrpDoDebuggerBreak@0() Unknown
ntdll.dll!_LdrpInitializeProcess@8() Unknown
ntdll.dll!__LdrpInitialize@8() Unknown
ntdll.dll!_LdrpInitialize@8() Unknown
ntdll.dll!_LdrInitializeThunk@8() Unknown
我还应该补充一点,以防万一,我绝对没有在我的代码中的任何地方手动设置断点。
最佳答案
这个烦人的问题源于 Visual Studio 中的一个错误:
What's happening is that we're not correctly handling multiple loader breakpoint events from different processes simultaneously. The OS triggers a loader breakpoint once the process is up and running but before any execution can take place for debuggers to instanciate breakpoints and take other action. Normally we successfully ignore these (at least in the single launch case). You can work around this by disabling the "Break all processes when one process breaks" checkbox in tools->options->debugger. Also note that this isn't a fatal error. We're just stopping at an internal breakpiont and you can just hit F5 again to keep going.
It's a race condition so won't be that easy for us to track down and multi-launch usage in VS is fairly low so I'm going to won't fix this assuming the workaround above will be good enough to get you unblocked and we'll revisit this if we see more reports from additional customers. Does that sound reasonable to you?
Thanks again for the feedback.
Marc Paine Visual Studio Debugger Engineering Manager
我遵循了在 Visual Studio 调试器设置中禁用“一个进程中断时中断所有进程”复选框的建议,这暂时“解决了”这个问题。
也许如果我们能让更多的人报告这个错误的相同问题/烦恼,微软最终会按照他们的建议修复它。
关于c++ - 调试器启动时 VS2012 : Breakpoint in ntdll. dll,没有更多信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14376523/
使用Eclipse PDT和Xdebug调试PHP应用程序的当前状态是什么。有没有人最终使它工作,即停止在Eclipse中定义的断点(不使用xdebug_break())? 我读过this over
我想用 lldb 设置一个条件断点。这通常使用 -c 完成选项 : breakpoint set -f myFile.cpp -l 123 -c 'a==3' 但是,就我而言,我想测试是否 std::
The breakpoints do not hit, not even one断点没有命中,甚至一个都没有 I have tried:我尝试过: Restarting U
我有一个基于VSCode上运行的electron-hello-world项目的基本HelloWorld应用程序,能够启动调试 session ,并且该应用程序可以正常启动。 我在main.js上设置了
我只是无法理解 Eclipse 中菜单的 Run 按钮下的两个选项。通常断点不是指一行吗?我意识到可能存在这种情况: if (x >= 0 && x = 0 && y < 4) source
我正在 Visual Studio 代码中使用 chrome 调试器扩展来调试我的主干应用程序。 launch.json文件是这样的; { "version": "0.2.0", "c
最近,Edge 脚本调试支持已添加到 Visual Studio,这使您可以在附加 VS 调试器的情况下启动 Edge。所以我正是这样做的,并在启用脚本调试的情况下开始了我的解决方案: 唉,当我开始这
从帮助文档中,设置数据访问断点,我们可以使用 var.break /READWRITE 但是,这只有在我们输入该变量的上下文时才有效。 因为我想写一个PRACTICE脚本来做自动调试,所以我想在程序
模式.txt ^[\s]*set breakpoint.*if ^[\s]*set breakpoint.*in ^[\s]*set breakpoint.*skip 脚本.txt set break
我在哪里可以找到有关移动和桌面屏幕尺寸的统计信息? 我正在制作一个响应式网站,特别是我试图找出的天气是大多数手机与台式机和平板电脑用户之间的大小差距,我可以在其中设置断点。我认为应该有,但我知道我应该
在开放的互联网上找到答案应该非常简单,但显然不是。你如何在 spyder (anaconda) 中设置条件断点? 例如这里是代码的一小部分: if elem.name == "p":
一直在使用 Pycharm 编写服务器。 我有一些使用 Python 中的“unittest”库的单元测试。 我只是在运行测试,一切都很好,我可以在代码的任何地方设置断点。 昨天我开始通过调试器运行服
我正在使用一些定义了两个断点的响应式设计: Mobile > max-width 320px Tablet portrait > max-width 767px 在桌面上,我有很多动画 + Javas
是否有可能安装 ipdb(或一些其他明确编写的包)将导致 breakpoint() 运行 ipdb pdb 没有绑定(bind) sys.breakpointhook() 到 ipdb? https:
有没有一种优雅的方法可以在容器的高度上设置各种断点。 示例: 假设您有一个 div,最小高度设置为 100px。一旦内容太多,它不仅会增长,还会增长 100px,当内容最终到达 200px 的底部时,
使用分段包创建分段线性回归我在尝试设置自己的断点时看到错误;似乎只有当我尝试设置两个以上时。 (编辑)这是我正在使用的代码: # data bullard <- structure(list(Rt =
在互联网上很难找到关于此的信息,因为神奇的单词“GameShark”,“ Action 重播”,“内存编辑器”和“内存培训师”触发了很多BS,所以我认为我应该在某个论坛上提问。 我将在本周末前得到任天
我目前正在研究调试器。我读到调试器有软件断点(apparently 这些是最常用的断点)。这些通过将操作码的第一个字节替换为 Int 3(操作码 0xcc)来工作。 我已经读过程序的文本(/code)
在 Chrome 开发者工具中,在一个 JavaScript 文件中添加两个断点并执行整个代码后,有没有办法测量它们之间耗时? 最佳答案 您可以使用 time and timeEnd methods用
根据内存中的值在lldb中设置条件断点的语法是什么? 就像是: breakpoint modify -c "memory read -Gx $esp+4 == 0" 或者,如果条件为假,我想我可以设置
我是一名优秀的程序员,十分优秀!