问题标签 [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.
debugging - 如何更改符号文件 (pdb) 中源文件的位置
基本上我想要这样做:一个 pdb 文件包含源文件的位置(例如C:\dev\proj1\helloworld.cs
)。是否可以修改该 pdb 文件以使其包含不同的位置(例如\more\differenter\location\proj1\helloworld.cs
)?
c++ - 如何列出 .so 文件中的符号
如何列出从 .so 文件导出的符号?如果可能的话,我还想知道它们的来源(例如,如果它们是从静态库中提取的)。
我正在使用 gcc 4.0.2,如果这有什么不同的话。
c - 以跨平台方式查找 ac 二进制文件的函数名称的最简单方法是什么?
我想编写一个小实用程序来调用 C 共享库中的任意函数。用户应该能够列出所有导出的函数,类似于 objdump 或 nm 所做的。我检查了这些实用程序的来源,但它们令人生畏。如果 dl 库也具有此功能,则无法在 google 上找到足够的信息。
(澄清编辑:我不想只调用一个事先知道的函数。我会欣赏你回答中的示例片段。)
math - LaTeX 中的年金或角度操作符号
如何在 LaTeX 中设置角度或年金运算的符号?具体来说,这是精算a角s = (1-v s )/i。
.net - 您可以仅使用一个文件的源代码来调试 .NET 应用程序吗?
我想在 Visual Studio 中调试应用程序,但我只有 1 个类的源代码。我只需要单步执行该文件中的一个函数,但我不明白我需要做什么。我认为这些步骤通常是这样的:
- 在 VS 中打开文件
- 加载“符号”(.PDB 文件)
- 附加到正在运行的进程
我知道如何做#1 和#3,但没有.PDB 文件我不知道如何做#2。是否可以为此生成 .PDB 文件以使其工作?谢谢!
linux - 将正在运行的 Linux 进程中的内存地址范围转换为目标文件中的符号?
这是文件/proc/self/smaps的片段:
它表明该进程(自身)链接到/lib/ld-2.8.so和两个(许多)字节范围映射到内存中。
第一个 88kb 范围(22 个 4kb 页面)是shared和clean,也就是说它没有被写入。这可能是代码。
第二个 4kb 范围(单页)没有被共享并且它是脏的——进程已经写入它,因为它是从磁盘上的文件映射的内存。这大概就是数据了。
但那段记忆里到底是什么?
如何将内存范围00b14000-00b15000转换为有用的信息,例如声明大型静态结构的文件的行号?
该技术需要考虑预链接和地址空间随机化,例如来自execshield,以及单独的调试符号。
(其动机是识别那些也会产生脏内存并修复它们的流行库,例如通过声明结构 const)。
java - 如何在java中将字体识别为符号?
我目前正在寻找一种在 Java 中将字体识别为符号的可能性,就像 OpenOffice 一样。字体为 Windings 或 Webdings 等的字符应使用正确的“图片”进行渲染。
有人知道如何区分普通字体和带符号的字体吗?
ruby - Ruby中的字符串和符号有什么区别?
Ruby 中的字符串和符号之间有什么区别,我什么时候应该使用一个而不是另一个?
debugging - WinDbg,来自本机 32 位应用程序的 minidump 在 64 位 Windows 上崩溃,不会加载系统 DLL 的符号
我从我们的一个应用程序的崩溃中获得了一个小型转储文件。这是一个 32 位本机应用程序,它在 64 位 Windows 上运行。
如果我将 minidump 文件加载到 WinDbg 中,WinDbg 将不会加载系统 DLL 的符号。我的符号路径配置正确:
...因为 WinDbg 正确加载了在 32 位 Windows 上创建的小型转储的符号。它只是不会为 SysWOW64 目录中的 DLL 加载符号。
我在 32 位 Windows 2003 上尝试了 32 位 WinDbg(来自调试工具 6.9),在 64 位 Windows 2008 上尝试了 64 位 WinDbg(也来自调试工具 6.9)。两者都无法加载符号。这是来自 32 位 WinDbg:
有任何想法吗?这些符号在 Microsoft 的符号服务器上不可用吗?
linux - 是否有任何工具可以检查交叉编译的 .so 文件中的符号?
我有一个应用程序在启动时将 .so 文件加载为插件,使用dlopen()
构建环境在 x86 硬件上运行,但应用程序正在针对另一个平台进行交叉编译。
如果我可以(作为自动构建过程的一部分)进行检查以确保 .so 文件和应用程序的组合中没有任何未解析的符号,而无需实际部署应用程序,那就太好了。
在我编写脚本来使用 的输出测试符号之前nm
,我想知道是否有人知道已经这样做的实用程序?
编辑1:稍微改变了描述——我不只是试图测试.so中的符号,而是结合几个.so和应用程序本身——即。在应用程序加载所有 .so 之后,是否还会有未解析的符号。
正如答案中所建议的那样(感谢 Martin v. Löwis 和 tgamblin),nm
将很容易识别单个文件中丢失的符号,但不容易识别在其他加载的模块之一中已解决哪些符号。