问题标签 [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.
.net - 如何使用 .Net 从 pdb 获取方法的行号和路径?
给定程序集及其 pdb,如何使用 .Net 获取方法的行号和路径?
visual-studio-2010 - Visual Studio 2010 加载符号时间过长,符号文件位置无法删除
Visual Studio 需要大量额外的时间来为我不想加载的外部 dll 加载符号。我在 VS2008 中摆弄了我的符号设置,这些设置似乎正在影响 VS2010
如何阻止它加载第 3 方符号?
我试过了:
- devenv /resetuserdata
- 工具 > 选项 > 调试 > 符号(我无法删除或取消选中 pdb 文件位置:“环境变量:_NT_SYMBOL_PATH”)
- 我已经像这样清除了上面的位置: set _NT_SYMBOL_PATH=
实际上这有很大的不同(以前是 SRV c:\symbols http://msdl.microsoft.com/download/symbols) - 我已从以下位置删除所有内容:%localappdata%\Temp\Temporary ASP.NET Files\root\
接下来的事情将是重新安装 VS,如果重新安装操作系统失败,但如果每次按下调试它可以为我节省 14 秒,那将是值得的。
windbg - 如何获取 SLC.pdb 来分析内存转储
我在 Windows Vista 上使用 windbg 6.12.0002.633 X86 来分析内存转储中的内存泄漏。我正在尝试使用命令 ``dumpheap -stat to determine the quantities of objects in the heap.
Unfortunately, I'm getting the error
*** 错误:找不到符号文件。默认为 SLC.dll 导出符号. I have activated
!sym 嘈杂to show where the error comes from and the file SLC.pdb is just not available on the symbol server.
I have googled the file but haven't found such a downloadable file.
The last line in the log output says:
无法解决“mheap -stat”处的错误。我无法继续调试,因为我永久收到此错误。
有谁知道我在哪里可以获得 SLC.pdb 文件或解决此问题的其他方法?
debug-symbols - 关于 Windows 中带有调试信息的可执行文件
指针到符号表:
COFF 符号表的文件偏移量,如果不存在 COFF 符号表,则为零。PE 映像文件为 0,因为调试信息已被贬低。
为什么它说 PE 映像的调试信息已贬值?AFIAK,windows中的可执行文件也可以携带调试信息,不是这样吗?
visual-studio-2005 - 为什么 Visual Studio 2005 调试器无法从 Microsoft 符号服务器或我的本地缓存中检索 Windows 7 x64 的符号?
我刚刚在我的代码商店获得了一台 Windows 7(64 位)机器。我们运行 Visual Studio 2005。我填写了工具|选项|调试|符号面板,指向 Microsoft 符号服务器并缓存到 C:\windows\symbols,然后启动了我们应用程序的一个新实例。在联系 MS 符号服务器时出现了暂停,然后出现了 EULA,我接受了,但没有加载任何符号。这是一个相当大的问题,因为我所在部门的大部分问题都归结为需要操作系统符号的内存管理。
该应用程序的所有本地符号加载正常,以及(显然)MFC80U.i386.pdb。当我检查 ntdll.dll 的符号加载信息时,这向我打招呼:
C:\Windows\System32\wntdll.pdb:找不到或打开 PDB 文件。
C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\IDE\wntdll.pdb:找不到或打开 PDB 文件。
C:\Windows\symbols\dll\wntdll.pdb:找不到或打开 PDB 文件。
C:\Windows\dll\wntdll.pdb:找不到或打开 PDB 文件。
C:\Windows\wntdll.pdb:找不到或打开 PDB 文件。
我还下载并安装了 x86 和 x64 的 Windows 7 RTM 符号包(到 C:\Windows\Symbols)。仍然没有运气。x64 ntdll.pdb 文件位于 C:\Windows\Symbols\ntdll.pdb\CFF40300FD804691B73E12CF2A150EE02 中,并且不像符号加载信息似乎要求的那样被称为 wntdll.pdb。
是不是 Windows 7 符号不喜欢 VS2005?
c - 有没有办法在运行时访问调试符号?
这是一些示例代码,可以让您了解我想要什么。
有没有办法实现get_caller_file()
and get_caller_line()
?我已经看到/使用了像#define
ing这样的技巧作为传入和宏my_api_call
的函数调用。我想知道是否有办法在运行时而不是编译时访问该信息(假设它存在)?像 Valgrind 这样的东西难道不是必须做这样的事情才能获得它返回的信息吗?__FILE__
__LINE__
c# - #if DEBUG vs. Conditional("DEBUG")
在大型项目中哪个更好用,以及为什么:
或者
c - 带有和不带有“-ggdb1”选项的 gcc 之间的调试信息有什么区别?
默认情况下,gcc
会将符号表添加到可执行文件中,因此gdb
将获得可读的堆栈跟踪。
-ggdb1
手册页中的选项文档gcc
说:
级别 1 产生的信息最少,足以在您不打算调试的程序部分中进行回溯。这包括函数和外部变量的描述,但没有关于局部变量的信息,也没有行号。
gcc
...在我看来,这与在没有任何调试相关参数的情况下调用相同。但是显然发出了额外的符号(.debug_frame
, .debug_str
, .debug_loc
)。
-ggdb1
那么到底有什么区别,与简单地不剥离可执行文件相比,编译有什么好处?
c# - 发布时将源代码添加到dll
我有一个 dll,我们团队中的很多人都在使用它——我希望他们能够针对它进行构建,但如果他们想查看它是如何编写的,也能够进入并单击源代码
我可以看到 MSDN dll 可以做到这一点 - 他们是如何做到的