我在Visual Studio 2008下调试一个(本机)多线程C++应用程序.在看似随机的场合,我得到一个"Windows触发了一个断点......"错误,并注意到这可能是由于堆.这些错误并不会立即使应用程序崩溃,尽管它很可能会在之后崩溃.
这些错误的一个大问题是它们只在实际发生损坏后弹出,这使得它们很难跟踪和调试,尤其是在多线程应用程序上.
什么样的事情会导致这些错误?
我该如何调试它们?
提示,工具,方法,启发......欢迎.
我现在正在研究一个ColdFusion项目,至少Visual Studio开始对我来说很奇怪.
我观察到,当我开始调试时,它构建了项目,它开始部署,部署完成,它开始为我的项目加载符号.
但它很慢,我不知道为什么它开始这一步.我可以做些什么?
这个符号加载步骤是否必要?我该如何禁用它?
在工具 - >选项 - >调试 - >符号对话框中,没有添加符号文件(.pdb)位置.我在下面的字段中指出了我项目的调试目录,并选中了"仅当符号为......时才搜索上面的目录"复选框.如何设置此对话框以关闭符号加载?
我查看了模块窗口中加载了哪些符号,但它对我没有任何说明.问题是什么?

我一直想知道调试器是如何工作的?特别是可以"附加"到已经运行的可执行文件的那个.我理解编译器会将代码转换为机器语言,但是调试器如何"知道"它附加到什么?
在调试Java代码时,视图"变量"和"表达式"中的字符串仅显示一定长度,之后Eclipse显示"..."
有没有办法检查整个字符串?(这减轻了添加日志语句以进行调试的痛苦)
当char* x指向值等于的字符串时,是否可以指定我希望gdb在第x行中断"hello"?如果有,怎么样?
我希望Visual Studio在发生处理异常时中断(即我不只是想看到"第一次机会"消息,我想调试实际异常).
例如,我希望调试器在异常处中断:
try
{
System.IO.File.Delete(someFilename);
}
catch (Exception)
{
//we really don't care at runtime if the file couldn't be deleted
}
Run Code Online (Sandbox Code Playgroud)
我遇到了Visual Studio.NET的这些笔记:
1)在VS.NET中进入Debug菜单>>"Exceptions ...">>"Common Language Runtime Exceptions">>"System"并选择"System.NullReferenceException"
2)在该对话框的底部有一个"当抛出异常时:"组框,选择"进入调试器"
3)运行您的方案.抛出异常时,调试器将停止并通过一个对话框通知您,类似于:"抛出类型"System.NullReferenceException"的异常.[Break] [Continue]"
点击[休息].这将使您处于导致问题的代码行.
但它们不适用于Visual Studio 2005(" 调试"菜单上没有" 例外"选项).
有谁知道在Visual Studio中找到这个选项对话框中的" 当抛出异常时 "组框,并选择" 进入调试器 "?
更新:问题是我的调试菜单没有Exceptions项.我自定义菜单以手动添加它.
我在模板中有一些变量,我不知道我在哪里分配它们.我需要知道特定变量中的内容; 例如,假设我在smarty中有一个变量叫member.我试过{debug}但它没有用,也没有显示弹出窗口.
如何使用var_dump()模板内部的东西输出/调试智能变量?
尝试使用po <objectName>,但仅针对一个项目打印对象时,Xcode显示错误.
错误:无法实现struct:变量<varName>的大小不同于ValueObject的大小在Execute中出错,无法PrepareToExecuteJITExpression
Xcode调试器还将所有对象显示为nil(self排除),如果不是(NSLog显示正确的输出,如图中所示).我不知道这个项目有什么问题.其他每个项目都运作良好.
知道它可能是什么?(清理项目没有效果.)
根据我的阅读,有两种方法可以在Python中调试代码:
使用传统的调试器,如pdb或ipdb.这支持诸如cfor continue,nfor step-over,sfor step-into等命令,但是你没有直接访问IPython shell,这对于对象检查非常有用.
使用 IPython的通过嵌入代码中的一个IPython的壳.您可以这样做from ipython import embed,然后embed()在您的代码中使用.当您的程序/脚本命中一个embed()语句时,您将被放入一个IPython shell中.这允许使用所有IPython好东西对对象进行全面检查并测试Python代码.但是,在使用时,embed()您无法使用便捷的键盘快捷键逐步完成代码.
有没有办法结合两全其美?即
这种类型的"增强调试"的一个例子可以在MATLAB中找到,用户总是可以完全访问MATLAB引擎/ shell,她仍然可以逐步完成代码,定义条件断点等.我与其他用户讨论的内容,这是人们在从MATLAB迁移到IPython时最想念的调试功能.
我不想让问题太具体,但我主要在Emacs工作,所以我想知道是否有任何方法可以将此功能纳入其中.理想情况下,Emacs(或编辑器)将允许程序员在代码的任何位置设置断点,并与解释器或调试器通信以使其停在您选择的位置,并在该位置引入完整的IPython解释器.
查看图层模式,您只显示您所提供的内容,并且全部,但您如何知道可用的内容?TWIG中是否有"列出所有定义的变量"功能?有没有办法转储变量?
我通过搜索找到的解决方案是定义一个函数,我可以通过注入一个函数来使用我现有的php调试工具,但是我发现的所有引用都包含了这两行很好的代码,但是没有指定的地方在哪里放置它们.由于他们需要定义$ loader变量这一事实,我尝试了/app/config/autoload.php,但是那个$ loader是错误的.我在哪里放置PHP代码来添加树枝功能?