草庐IT

Release调试

全部标签

c++ - 如何在 Visual Studio 2013 中使用带/不带 Microsoft Application Verifier 的调试

所以我安装了应用程序验证器来帮助我进行调试,但是我不知道如何正确使用它。首先,它似乎已经永久地依附于visualstudio。每当我通过visualstudio在Debug模式下运行任何应用程序时,验证器都会自动介入。这是一个问题,因为它会大大降低执行速度,但似乎没有办法在没有验证器的情况下运行调试器了?实在不想每次要用都重装,然后又卸载。其次,它似乎确实能有效地发现泄漏,但我不确定如何处理输出消息:=======================================VERIFIERSTOP00000900:pid0x43C:Aheapallocationwasleaked.

windows - 调试 javascript 时禁用 Safari 中的 "Slow script"对话框?

我在Windows上的Safari4中使用内置的javascript调试器(WebKitWebInspector),但是当我单步执行代码时,我不断收到“SlowScript”对话框,要求我中止/继续脚本每隔几秒钟。这很烦人。有没有办法关闭它或以其他方式阻止它每隔几秒提示我一次? 最佳答案 在开发菜单下应该有一个选项来“禁用失控的JavaScript计时器” 关于windows-调试javascript时禁用Safari中的"Slowscript"对话框?,我们在StackOverflow

windows - 在 cmake/Visual Studio 项目中调试/运行可执行文件

我们正在从手动管理的VisualStudio项目转向跨平台cmake。我们曾经打开一个解决方案文件,选择一个项目作为“启动目标”,然后按Ctrl+F5或F5调试或运行。现在cmake有了这个安装概念。它需要我运行安装目标。但安装项目没有设置任何可执行文件,因此不能用于启动调试。如果我将我的可执行项目设置为启动目标,那么安装将不会运行,所以我无法调试。我相信有更好的方法来做到这一点。有什么想法吗? 最佳答案 如果您想要分发您的应用程序,您应该只需要运行INSTALL目标。如果您选择一个构建可执行文件的项目(因此它在CMakeLists

c++ - 如何从启用优化( Release模式)构建的二进制文件中分析故障转储?

到目前为止,我一直在项目中使用Debug模式二进制文件。因此,使用保留的符号文件很容易分析故障转储。现在我必须在Release模式下发布二进制文件。我们如何分析由Release模式二进制文件生成的转储文件。这有可能吗?我如何识别Release模式下的功能?(不需要生成和保存map文件) 最佳答案 您需要与可执行文件相对应的.pdb文件。这会给你符号。调试发布版本有几个棘手的部分:由于优化,操作顺序可能会发生变化整个函数/变量/等等。可能会被优化掉特别是,传递给函数的参数可能不存在(例如,“this”可能是一个寄存器,而不是内存中的一

c# - VS2012无管理员账号远程调试

让我稍微解释一下我们。我们是一群为我们的团队拥有专用服务器的开发人员,但它仍然由另一个执行组织范围政策的团队管理。他们理想的场景是将远程调试设置为一项服务,并允许我们组中的任何人通过我们的本地工作站访问调试器。给我们的组管理员权限在服务器上,可能是最后的选择。我们查看了下面列出的Microsoft页面列表:--http://msdn.microsoft.com/en-us/library/9y5b4b4f.aspx--本文解释了建议使用管理员帐户的原因。--http://blogs.msdn.com/b/greggm/archive/2008/05/15/visual-studio-r

c# - 调试后台服务上的堆栈溢出错误

这不是一个真正的问题,而是一个希望对其他人有所帮助的答案。那些以前编写过Windows服务的人都知道找到其中的错误是一项多么艰巨的任务,尤其是当它只发生在实时环境中时。在我的例子中,我有一个平稳运行几个小时的服务,然后由于堆栈溢出错误而崩溃。没有堆栈跟踪。祝您大海捞针。该服务确实生成了一个日志文件,代码中充斥着日志条目,但尽管如此详细,它还是生成了500MB的日志文件!你几乎无法打开文件,更不用说分析它了。但是你如何解决这个问题呢?您可以尝试生成包含较少信息的日志文件,或者在写入新日志条目时自动删除旧日志条目的日志文件,但这样您就失去了错误的重要上下文。解决方案是一个日志文件,它会跟踪

c# - 为什么附加调试器后即时编译的 C# 代码无法运行?

我有以下面向.NET4.0的C#项目,它获取源代码文件,将其编译成一个程序集,然后执行该程序集中包含的一种类型的静态方法。只要我不在附加调试器的情况下启动程序,这就会按预期工作。在那种情况下,我在调用xmlSerializer.Serialize(sw,family);时遇到异常,更准确地说是System.NullReferenceException在System.TypeInitializationException里面在System.InvalidOperationException里面.如果我采用相同的程序,将源代码文件包含在项目中并直接编译到主程序汇编中,则无论是否附加调试器都

c# - 调试符号未加载到针对 .NET Framework 的 .NET 标准项目中

我正在使用VisualStudio2017。我创建了一个.NETStandard库(让这个库成为Lib1)项目,其中包含两个Target框架,netstandard2.0和net46。然后我还有另外两个项目...一个是“纯”.NETFramework4.6控制台项目(我们称它为Console46)和一个.NETCore控制台项目(我们称之为ConsoleCore)。它们都引用了Lib1。我在运行ConsoleCore项目的时候,可以调试和下断点,没有任何问题,但是当我运行Console46的时候,VisualStudio无法加载pdb文件,所以无法调试库,下断点等我尝试手动加载PDB文

c# - 在 Visual Studio 2013 中调试时看不到类级变量

我在VS2013中调试一些C#代码时观察到一些奇怪的行为。当我将鼠标悬停在当前方法范围内的任何变量上时,我可以看到变量的信息。在下面的屏幕截图中,您可以看到ivSimulation已固定并显示信息。但是,即使您看不出来,我将鼠标悬停在this._simulator上,也没有显示任何内容。QuickWatch也不显示任何内容。另一位同事也遇到了同样的问题。我们已经尝试清除我们的文件夹并再次获取最新的。我们还尝试将VS中的设置(工具->选项->调试->常规->使用托管兼容模式)更改为选中状态,但这也没有用。显然这对其他人有用。这在VS2012中工作得很好。有什么想法吗?如何让类级变量显示在

c# - 几何对象的可视化调试器

在处理表示几何对象的库时,调试当前看起来像这样:在这里,我在Autos、Locals、Watch和Immediate窗口中查看局部变量。由于我很难在脑海中想象出物体的形状,所以我更喜欢用图形组件来表示这些物体。所以我已经开始创建一个DebuggerVisualizer来绘制对象。我在bitbucket的公共(public)仓库中有它here.现在我无法让它在解决方案中的控制台应用程序之外工作。我做错了什么?这是它工作时的样子:此外,我怎样才能以允许我一次查看多个对象的方式执行此操作。我意识到我真的很想看到多个对象及其交互,而不仅仅是单个对象。(例如寻找交叉路口等)。附言有没有人在任何地