问题标签 [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.

0 投票
4 回答
10929 浏览

debugging - 如何更改符号文件 (pdb) 中源文件的位置

基本上我想要这样做:一个 pdb 文件包含源文件的位置(例如C:\dev\proj1\helloworld.cs)。是否可以修改该 pdb 文件以使其包含不同的位置(例如\more\differenter\location\proj1\helloworld.cs)?

0 投票
11 回答
460492 浏览

c++ - 如何列出 .so 文件中的符号

如何列出从 .so 文件导出的符号?如果可能的话,我还想知道它们的来源(例如,如果它们是从静态库中提取的)。

我正在使用 gcc 4.0.2,如果这有什么不同的话。

0 投票
8 回答
540 浏览

c - 以跨平台方式查找 ac 二进制文件的函数名称的最简单方法是什么?

我想编写一个小实用程序来调用 C 共享库中的任意函数。用户应该能够列出所有导出的函数,类似于 objdump 或 nm 所做的。我检查了这些实用程序的来源,但它们令人生畏。如果 dl 库也具有此功能,则无法在 google 上找到足够的信息。

(澄清编辑:我不想只调用一个事先知道的函数。我会欣赏你回答中的示例片段。)

0 投票
5 回答
11138 浏览

math - LaTeX 中的年金或角度操作符号

如何在 LaTeX 中设置角度年金运算的符号?具体来说,这是精算as = (1-v s )/i。

0 投票
4 回答
842 浏览

.net - 您可以仅使用一个文件的源代码来调试 .NET 应用程序吗?

我想在 Visual Studio 中调试应用程序,但我只有 1 个类的源代码。我只需要单步执行该文件中的一个函数,但我不明白我需要做什么。我认为这些步骤通常是这样的:

  1. 在 VS 中打开文件
  2. 加载“符号”(.PDB 文件)
  3. 附加到正在运行的进程

我知道如何做#1 和#3,但没有.PDB 文件我不知道如何做#2。是否可以为此生成 .PDB 文件以使其工作?谢谢!

0 投票
3 回答
3436 浏览

linux - 将正在运行的 Linux 进程中的内存地址范围转换为目标文件中的符号?

这是文件/proc/self/smaps的片段:

它表明该进程(自身)链接到/lib/ld-2.8.so和两个(许多)字节范围映射到内存中。

第一个 88kb 范围(22 个 4kb 页面)是sharedclean,也就是说它没有被写入。这可能是代码。

第二个 4kb 范围(单页)没有被共享并且它是的——进程已经写入它,因为它是从磁盘上的文件映射的内存。这大概就是数据了。

但那段记忆里到底是什么?

如何将内存范围00b14000-00b15000转换为有用的信息,例如声明大型静态结构的文件的行号?

该技术需要考虑链接和地址空间随机化,例如来自execshield,以及单独的调试符号

(其动机是识别那些也会产生脏内存并修复它们的流行库,例如通过声明结构 const)。

0 投票
2 回答
726 浏览

java - 如何在java中将字体识别为符号?

我目前正在寻找一种在 Java 中将字体识别为符号的可能性,就像 OpenOffice 一样。字体为 Windings 或 Webdings 等的字符应使用正确的“图片”进行渲染。

有人知道如何区分普通字体和带符号的字体吗?

0 投票
11 回答
29489 浏览

ruby - Ruby中的字符串和符号有什么区别?

Ruby 中的字符串和符号之间有什么区别,我什么时候应该使用一个而不是另一个?

0 投票
2 回答
29008 浏览

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 的符号服务器上不可用吗?

0 投票
3 回答
3750 浏览

linux - 是否有任何工具可以检查交叉编译的 .so 文件中的符号?

我有一个应用程序在启动时将 .so 文件加载为插件,使用dlopen()

构建环境在 x86 硬件上运行,但应用程序正在针对另一个平台进行交叉编译。

如果我可以(作为自动构建过程的一部分)进行检查以确保 .so 文件和应用程序的组合中没有任何未解析的符号,而无需实际部署应用程序,那就太好了。

在我编写脚本来使用 的输出测试符号之前nm,我想知道是否有人知道已经这样做的实用程序?


编辑1:稍微改变了描述——我不只是试图测试.so中的符号,而是结合几个.so和应用程序本身——即。在应用程序加载所有 .so 之后,是否还会有未解析的符号。

正如答案中所建议的那样(感谢 Martin v. Löwis 和 tgamblin),nm将很容易识别单个文件中丢失的符号,但不容易识别在其他加载的模块之一中已解决哪些符号。