问题标签 [debug-symbols]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 您可以从标头创建 DSYM 文件吗?
我正在尝试调试已删除其符号的文件。我有文件的标题,每个函数都有偏移量,并且想知道是否可以使用这些标题创建 DSYM 文件。我无法在偏移量上设置断点,因为该文件是一个插件,因此这些函数被映射到内存中的不同位置。
debugging - ATI/NVIDIA 驱动程序的调试版本(或符号文件)是否可用?
我什至不在乎它们是否是真正的“调试”版本,我真正想要的只是符号文件,这样当我闯入调试器时,我的调用堆栈就不会变得无效。
visual-studio-2010 - 将源文件索引到没有 TFS 2010 的独立源服务器中
我有一个解决方案,它是从命令行使用 Visual Studio 2010 构建的。构建后,将 symstore
调用 Debugging Tools for Windows 将 PDB 和二进制文件发布到网络文件夹,然后将其用作符号存储。
我知道还有一个源服务器,我可以将它与符号存储一起使用来保存源文件。如何将源文件添加到该符号存储中?我看到调试工具中有一个srcsrv
目录,但我找不到使用这些工具在现有源代码控制系统之外创建源服务器系统的方法
c++ - 即使使用 -g 标志编译,gdb 中也没有调试符号
我正在尝试使用调试符号编译我的程序以在 gdb 中使用。我已将 -g 标志添加到我的 makefile 中,但是当我在 gdb 中加载程序时,我仍然得到“正在从...读取符号(未找到调试符号)”。怎么了??
这是我的 makefile 的精简示例,它应该具有相关位:
如果你想看到整个事情,你可以去这里,虽然我认为没有必要:
杂项注释.. 我在 Windows 上使用 MinGW 进行编译,并且我有 SFML 和 OpenGL 作为依赖项。
不, -s 标志在我的 makefile 中找不到。
asp.net - ASP.NET 部分类和附加到进程
我正在使用 Visual Studio 2010 Ultimate,并且在带有 IIS6.0 的 Windows Server 2003 上。我可以很好地附加到我的 w3wp.exe 进程,它甚至会在任何不在部分类中的 DLL 上命中断点。
符号不会为部分类加载(即后面的 MyPage.aspx.cs 代码),我需要调试它的那一部分。如何让符号为部分类加载,从而在附加到进程时对其进行调试?
其他一些细节:我发布了我的网站(它是一个 ASP.NET 2.0 网站),它带有“使用固定命名和单页程序集”复选框,它只为后面的每个 aspx.cs 代码创建一个 .dll,但没有它的 .pdb 版本. 还有其他方法可以像单个 .dll 文件一样进行部署。那会有帮助吗?
c++ - 使用 DIA SDK 列出 C++ PDB 中的类文件夹
我正在使用 C# 开发一个分析工具。它使用DIA SDK分析C++ PDB文件并列出所有类、函数、字段等。
我想知道类的文件夹名称,并明智地列出类、函数等文件夹。我已经看到了 IDiaSymbol 上的所有属性/函数,但在类的文件夹名称上找不到任何东西。
如何使用 DIA SDK 获取 C++ PDB 中类的文件夹名称?
谢谢
拉古
symbols - 加载符号以进行远程调试
我正在尝试使用此处找到的代码为 TFS 2010 调试插件。该示例建议使用本地安装的 TFS 进行调试。我想用我设置的 dev TFS 2010 Server 尝试一下。所以我在那台机器上安装了 Remote Debugger x64 并尝试远程调试。
该机器上运行着 3 个w3wp.exe进程。但是我尝试附加到它们中的每一个,并且每次我做断点时都会说:
当前不会命中断点。没有为此文档加载任何符号。
当我构建时,我将构建中的所有文件输出到 TFS 机器上的插件文件夹。我应该在本地保存一些文件以进行符号加载吗?有没有办法手动指向符号文件?什么是符号文件?
更新:我让它运行了几次。但现在它不再工作了。(TFS 已启动并正常工作,但断点给了我上述消息....)
c++ - gdb 中的奇怪行为
我的代码中遇到了一个非常奇怪的错误。
我在我的程序中使用了一个变量m_requestedStructures
,而调试器在检查它时访问了错误的地址。例如,我在代码中有:
我在这里设置了一个断点。到达断点时,我将打印的值和地址m_requestedStructures
与 gdb 正在访问的值和地址进行比较:
可以看出,值和地址都不同。
我看到的另一个症状是我有一个函数,QueueManager::checkPopulation_()
我很久以前就删除了它,但是 gdb 仍然尝试制表符完成它,如果我在它上面设置一个断点,它会在函数使用的点中断成为。
在我看来,符号读取不正确。我试过从一个干净的目录重建,但问题仍然存在。有谁知道可能导致此问题的原因或如何解决?
提前致谢!
编辑:我刚刚尝试在我添加的新函数上设置断点。该函数QueueManager::run()
出现在 gdb 的选项卡中完成,但是当我尝试设置断点时,我得到
此外,检查其他变量,包括本地范围和 QueueManager 的成员,似乎工作正常。
这是编译器/链接器的输出。包含该类的文件是queuemanager.cpp
,它是静态库的一部分,libglobalsearch.a
在动态库中使用xtalopt.so
:
ruby - 如何检查我安装的 Ruby 是否有调试符号?
内存教授说
Memprof 支持所有 1.8.x(MRI 和 REE)VM,只要它们是 64 位并包含调试符号。为获得最佳结果,请使用 RVM 编译 ruby 并确保您在 64 位机器上。
如何检查我安装的 Ruby 是否有调试符号?
c++ - 您可以从调试编译的二进制文件中检索源代码吗?
我四处挖掘,发现了一个我在大约 8 年前用 Visual C++ 6.0 编写的东西的可执行文件。我从不备份源代码,但我认为我总是在调试模式下编译所有内容。我还隐约记得在某处听到“除非你有编译器的调试符号或其他东西,否则你不能将可执行文件反编译成源代码”。该代码将具有情感价值,但我检索它并不是关键任务。
这就是背景;以下是问题:
- 如何检查可执行文件是否在调试模式下编译?
- 如果是,调试模式可执行文件附带什么信息?
- 我可以检索完整的源代码吗?如果做不到这一点,与发布版本相比,我在反编译时可以获得任何实质性的改进吗?如果是这样,怎么做?
谢谢,
——迈克尔·伯格