jjzjj

postmortem-debugging

全部标签

c# - VisualStudio 项目中的 obj/debug 是一个临时位置吗?

简而言之,我有一个单独的WCFVisualStudio项目,用于编译CLient和Contractdll。使用MS-BUILD(命令行)构建项目后,我有一个构建后的nant任务,将客户端和契约(Contract)dll复制到另一个位置。现在我可以更轻松地从obj/Debug文件夹中选择这些dll(因为它们只有CLient和Contractdll而没有它们的依赖项)。但是我听说obj/Debug文件夹是临时的..我们需要依赖bin/Debug来获取dll。是否有必要从bin/debug而不是obj/Debug中获取它,为什么? 最佳答案

c++ - 在 Debug模式下构建 Qt 5.10 时 MSVC 编译器崩溃

使用MSVC++2017x64编译器在Debug模式下编译Qt5.10失败。在Release模式下,不会出现该错误。错误本身是:```C:\Qt\5.10\build\qtbase\bin\moc.exe-DUNICODE-D_UNICODE-DWIN32-DWIN64-DQT_NO_USING_NAMESPACE-DQT_NO_FOREACH-DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT-DQT_BUILD_CORE_LIB-DQT_BUILDING_QT-D_CRT_SECURE_NO_WARNINGS-D_USE_MATH_DEFINES-DQT

windows - 相对文件路径差异 : debug mode and release mode of Qt Creator

QFilefile("test.txt");if(file.open(QIODevice::ReadOnly)){qDebug()我正在使用:Qt4.8.6和MSVC2010QtCreator3.1.1Windows7(32位)从上面的代码来看,如果.pro文件没有改动,对应的build目录对于Debug模式:D:\...\build-Main-MSVC2010-Debug而Debug模式的.exe会位于D:\...\build-Main-MSVC2010-Debug\debug对于Release模式:D:\...\build-Main-MSVC2010-Release而Release

c - 在套接字(windows)上启用 SO_DEBUG 时如何查看套接字信息?

intsetsockopt(SOCKETs,intlevel,intoptname,constchar*optval,intoptlen);SO_DEBUG鼓励(但不要求)WindowsSockets服务提供商提供如果应用程序设置了SO_DEBUG选项,则输出调试信息。生成调试信息的机制及其采用的形式超出了本文档的范围。我没有找到任何范围。 最佳答案 它不适用于win32。Enablesdebugoutput.Microsoftproviderscurrentlydonotoutputanydebuginformation.我相信它

windows - 当 "Debug Assertion Failed"出现时自动终止程序?

我有一个仅用于录音的VisualC++程序,有时它会突然崩溃并出现一个对话框,“VisualC++调试库”“调试断言失败”“中止”,“重试”“忽略”。我根本不需要重试或忽略,所以我只想自动运行Abort。我有一个批处理/bash文件运行以检测程序是否已结束并重新启动它,但是当出现此对话框时,程序仍在运行并且程序一直处于崩溃状态直到我注意到它。 最佳答案 运行时函数_set_error_mode()可以为您安排。你只需要这样做:_set_error_mode(_OUT_TO_STDERR);所有错误(包括由断言失败引起的错误)都会将其

c++ - 我的机器出问题 : how to debug outside a dev environment?

我正在使用VisualC++2008在win764位计算机中开发3D应用程序。所有运行正常。当我在具有XP32位(硬件3D激活)的VMWare虚拟机或我friend的机器中的干净机器中检查此应用程序时,应用程序失败。根据编译(调试或发布)以及我使用MD(d)还是MT(d)编译,应用程序的行为会有所不同(进入干净的机器)我的问题:是否可以将应用程序调试到干净的机器中?存在中央日志,如/var/log/message但在Windows中?如何检查我的开发机器中正在使用哪些dll,以便与干净机器中安装的进行比较?谢谢!! 最佳答案 如果它

c# - Defines.Debug 与 #if DEBUG

我已经开始像这样使用定义类了:internalsealedclassDefines{//////ThisconstantissettotrueiffthedefineDEBUGisset.///publicconstboolDebug=#ifDEBUGtrue;#elsefalse;#endif}我看到的优点是:确保我不会破坏编译器不会检查的#if..#else..#endif内容。我可以查找引用以查看它的使用位置。拥有一个用于调试的bool值通常很有用,定义代码更长/更困惑。我看到的可能的缺点:如果Defines类在另一个程序集中,编译器无法优化未使用的代码。这就是我制作内部的原因。

c# - 我应该在 #if (DEBUG) 中包装对 Debugger.Log() 的调用吗?

是否有必要在#if(DEBUG)预处理器指令中包装对Debugger.Log()的调用以优化代码,或者C#编译器是否会在构建RELEASE配置时仍然生成优化代码? 最佳答案 在RELEASE模式下,this调用没有任何类型的优化。调用出现在IL中。唯一的区别是如果没有DEBUGGER则它没有任何效果。来自文档Debugger.Log:Ifthereisnodebuggerattached,thismethodhasnoeffect.我建议衡量您应用的性能,然后选择要遵循的步骤。如果没有显着差异(从您的应用的角度来看),我会保留该日志

c# - Debug.Assert 似乎不适用于 Mono

考虑以下C#程序:usingSystem;usingSystem.Diagnostics;namespaceTest{classMainClass{publicstaticvoidMain(string[]args){Debug.Assert(false);Debug.Fail("fail!");Console.WriteLine("HelloWorld!");}}}编译时使用:dmcs-debug-d:DEBUGMain.cs然后运行它:mono--debugMain.exe断言和失败似乎被忽略了。输出只是:HelloWorld!我在StackOverflow上查看了其他相关问题,但

c# - 尝试在 VS2013 中以 Debug模式编辑代码时出错

我是一名C#程序员,最近我安装了VisualStudio2013。问题是当我设置断点或遇到错误并尝试在调试时编辑代码时出现此错误但我找不到在Google上搜索同样的错误。Changesarenotallowedforthismoduleasitwasnotbuiltforchangeswhiledebuggingorthetarget.NETruntimeversiondoesnotsupportit我还尝试检查Tools->Options->Debugging->EditandContinue上的选项,但没有帮助。知道问题出在哪里吗? 最佳答案