草庐IT

c# - 生产应用程序的 PDB 文件和 "Optimize code"标志

我应该在什么时候为产品发布包含PDB文件?我应该使用Optimizecode标志吗?这将如何影响我从异常中获得的信息?如果有明显的性能优势,我会想使用优化,但如果没有,我宁愿有准确的调试信息。正式版应用通常会做什么? 最佳答案 如果您想在堆栈跟踪中查看源文件名和行号,请​​使用pdb-only选项生成PDB。优化与PDB生成是分开的,即您可以优化并生成PDB而不会影响性能。来自theC#LanguageReferenceIfyouuse/debug:full,beawarethatthereissomeimpactonthespee

javascript - pdb.set_trace() 在网络浏览器 javascript 中是否等效?

在调试python应用程序时,我通常使用pdb/ipdb的set_trace()函数以编程方式调用断点。我在想在网络浏览器的javascript中是否可以做类似的事情。我很确定,如果它们存在,那是Firebug/Chrome/IE的一些特定于浏览器的扩展,但我找不到关于它们的任何信息。 最佳答案 您是否尝试过插入debuggerstatement?如果你有一个像Firebug运行的JS调试器,它将被视为一个断点。 关于javascript-pdb.set_trace()在网络浏览器jav

c++ - windbg 和 VS 找不到我的 pdb 文件

我有一个使用SCons和MSVS2013(express)编译器(从命令行编译)构建的项目。它编译并运行,但是,它会定期崩溃,所以我想调试它。我添加了以下标志:/Zi#Debugsymbols/DEBUG#Debugsymbols/FS#Concurrentdebugdatabasefileaccess构建后,我看到生成了一个名为vc120.pdb的pdb文件。我的可执行文件位于build文件夹中,pdb文件位于主项目目录中。但是,当我尝试附加我的可执行文件以通过VS2013或WinDbg进行调试时,我总是收到无法找到调试符号的错误。我在VS2013和WinDbg中都将“路径”添加到p

c++ - 警告 LNK4099 : PDB 'vc80.pdb' was not found after switching to vista

在从我的旧XP移动到新的vistaPC后,我在VS2005中的一个旧项目中收到以下几个警告:UnitTest++.vsnet2005.lib(TestRunner.obj):警告LNK4099:PDB'vc80.pdb'wasnotfoundwith'c:\projects\blah.lib'orat'c:\projects\blah\debug\vc80.pdb';链接对象就好像没有调试信息一样我知道可以忽略此警告,但我不喜欢警告。这些警告都与我静态链接到的第三方库(UnitTest++)有关。我看不出这与vista有什么关系,但是两台PC在构建后的相同位置都有相同数量的vc80.p

c++ - 无法找到或打开 PDB 文件消息,pdb 存在

这个问题在这里已经有了答案:CannotfindoropenthePDBfileinVisualStudioC++2010(7个答案)关闭8年前。我正在使用最近升级的VisualStudio2010。该解决方案包含25个项目,制作了十几个dll和exe。我正在尝试调试特定问题,但由于未加载符号而无法调试。我收到“无法找到或打开PDB文件”,这是针对项目生成的DLL之一的PDB文件,所有其他PDB文件都可以正常加载。PDB文件与dll存在于同一目录中,我还清理并重建了解决方案。此外,我对pdb名称运行了进程资源管理器过滤,这表明它已成功找到、打开和读取。奇怪的是,它还继续在其他位置寻找p

c++ - msvc2010 - 如何建立一个干净的输出目录?

我在使用visualstudio2010时遇到问题,因为它现在在构建时使我的输出目录充满.pdb和其他文件。在以前版本的msvc中,我将中间目录设置为输出目录以外的其他目录,并在那里生成了.pdb文件(以及其他所有内容):$(IntDir)/$(ProjectName).pdb说。现在,在新版本的msvc中,它似乎仍然在那里构建.pdb,但出于某种我不知道的原因,还在我的输出目录中放置了一个.pdb文件(我不想要)。如果我设置增量链接,.ilk文件似乎也会发生同样的事情,但这不太重要,因为我可以禁用增量链接,但.pdb对于调试程序是必不可少的。我认为这是msvc中的一个错误,但我只在c

c++ - 在 C++ 中解析 PDB 文件以收集变量名称

谁能建议一种用C++解析PDB文件的方法?我需要访问变量名称,特别是返回的变量名称。谢谢 最佳答案 PDB文件的实际格式在Microsoft之外没有记录。幸运的是,有一个出色的受支持DLL可用于从中读取信息:http://msdn.microsoft.com/en-us/library/windows/desktop/ms679267(v=vs.85).aspx 关于c++-在C++中解析PDB文件以收集变量名称,我们在StackOverflow上找到一个类似的问题:

c++ - 使用 pdb 文件调试时 VS2017 阻塞在不存在的目标文件上

我们正在将VisualC++项目切换到vc141工具链(VS2017)。我们遇到了VisualStudio无法使用.pdb的问题来源.obj的文件文件不再存在(例如,因为它们已在构建服务器上编译)。让我们来看一个非常简单的可执行项目:#includeintmain(){std::cout.vcxproj文件都是默认的,除了true生成pdb文件。复现步骤,始终使用VS2017:编译项​​目在main内放置一个断点去除中间体Debug/包含.obj的目录文件通过配置管理器禁用运行时构建(因此它不会重新创建它们)开始调试session这适用于vc100(VS2010)工具链,并且断点有效,

c++ - 错误 C1090 : PDB API call failed, 错误代码 '0':'

我正在尝试在VisualStudio2013中编译一个C++项目,但出现以下错误errorC1090:PDBAPIcallfailed,errorcode'0':'我需要帮助! 最佳答案 我在MSVC2017中看到了这个错误。我在一个文件中遇到了编译错误(缺少右括号)。此错误发生在以下所有文件上。修复第一个编译错误使它们消失。 关于c++-错误C1090:PDBAPIcallfailed,错误代码'0':',我们在StackOverflow上找到一个类似的问题:

c++ - 如何使用 pdb 调试现有的 C++ 可执行文件但没有源代码

我在已编译(Debug模式)的C++项目中工作。我有它的exe文件和pdb文件。我可以从命令行运行exe。如何调试项目?(我没有它的.sln文件。)我在VisualStudio中工作,但我的系统中也有一个cygwin。 最佳答案 从VisualStudio打开可执行文件,使用与打开项目或解决方案相同的方式。这将允许您对其进行调试。(它会在您的exe周围创建一个空的占位符解决方案,您可以在运行exe进行调试时使用它来更改环境变量或命令行参数。) 关于c++-如何使用pdb调试现有的C++可