问题标签 [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 回答
20095 浏览

windows - 如何更改年龄不匹配的 PDB 以正确匹配?

我们的夜间构建过程被破坏了很长时间,以至于它生成的 PDB 文件与相应的图像文件的年龄相差几个小时。我已经解决了这个问题。

但是,我想开始使用符号服务器,但由于必须使用这些年龄不匹配的 pdb 文件而不能。我通过在 windbg 中使用 .symopt +0x40 方法解决了这个问题。这意味着我必须手动组织我所有的 pdb 文件,并且经过多年的发布,这些文件加起来。

我正在寻找一种方法来修改 windbg 用来标记 pdb 年龄的机制,并强制它与我的图像文件匹配。实用程序ChkMatch执行类似的操作,但用于 pdb 签名。开发人员在页面“ChkMatch 能够使可执行文件和 PDB 文件匹配,如果它们具有不同的签名但相同的年龄(有关 PDB 签名和年龄的更多信息,请参阅本文)。如果年龄不同,该工具无法使文件匹配。”

我查看了 hexeditor 内部,甚至找到了与年龄相对应的位,但它必须在内部提取更多技巧,因为我无法让它工作。

有任何想法吗?

编辑:我不知道这是否有帮助,但在我的特殊情况下,年龄差异是由不必要的重新链接 dll 引起的,这也会重新创建 PDB 文件。但是,我们的构建过程是存储原始 dll(重新链接之前)和重新链接之后的 pdb。我想过以某种方式手动重现这种情况。意思是,强制重新链接 DLL,但在两种情况下都保存 pdb。然后我可以对这两个文件进行二进制比较,看看它们是如何变化的。也许运行某种自动执行此操作的修补软件?通过查看我的控制案例中究竟发生了什么变化,也许我可以对保存在我公司构建过程中的 DLL 和 PDB 做同样的事情?

编辑:我想通了!!!!感谢对第一个答案的评论之一,我查看了“未记录的 Windows 2000 秘密:程序员食谱”一书的 pdf 链接。作者详细介绍了 pdb 文件格式。正如我之前所说,我已经将 pdb 加载到十六进制编辑器中并翻转了一些位,似乎我进行了年龄/签名匹配,但它不起作用。好吧,在使用 W2k 机密书中的实用程序将 pdb“爆炸”到包含的流中之后,我发现它们在流 3 中隐藏了另一个对年龄的引用!!!!!!!!!!一旦我也翻转了那个,它就在windbg中匹配了。这是巨大的!!!!非常感谢....符号服务器我来了!

0 投票
1 回答
7615 浏览

python - 没有 HTML 转义的 Django 表单值

我需要设置 Django forms.ChoiceField 来显示货币符号。由于 django 表单转义了所有 HTML ASCII 字符,我无法获得 $ ( ) 或 £ ( £ ) 以显示货币符号。

您能否建议任何方法来显示实际的 HTML 货币字符,至少对于选项的值部分?

更新: 请注意我使用Django 0.96,因为我的应用程序在 Google App Engine 上运行。
上面的<SELECT>是使用 Django Forms 呈现的。

谢谢,
阿伦。

0 投票
3 回答
7019 浏览

linux - GNU链接器:替代--version-script在命令行列出导出的符号?

在具有 GNU 工具链的 Linux 上,我知道如何使用版本脚本 (gcc -Wl,--version-script=symbols.map) 控制从共享库中导出的符号,但我想在命令行上列出导出的符号反而。IOW,我想要相当于

来自 MS 工具链。是否可以 ?

编辑:

我的问题可能不是很清楚:如果我有一个库 libfoo.so,并且我只想导出库 foo1 和 foo2,我可以创建一个版本脚本 foo.linux,如下所示

我希望能够做这样的事情:

0 投票
3 回答
39403 浏览

external - 为什么我会得到:无法解析的外部符号错误 - C

我尝试编译这段代码:

我得到这个链接器错误: Linking...
mongoose.obj : error LNK2019: unresolved external symbol _send@16 referenced in function _push

我错过了什么?它必须是一些库或其他东西。我只是不记得我需要在链接中添加什么。

0 投票
3 回答
2216 浏览

.net - Microsoft 的公共符号服务器有什么用处?

到目前为止,我一直使用 ASP.NET MVC 框架源代码来调试 ASP.NET MVC。在我的笔记本电脑上,我只是尝试了一种不同的方法,即在调试时在 VS 中打开“模块”窗口并右键单击 System.Web.Mvc,然后选择“从加载符号”>“Microsoft 符号服务器”。

VS 似乎实际上加载了一些东西,因为 System.Web.Mvc 程序集的符号文件被报告为已加载。此外,我的调用堆栈中属于 System.Web.Mvc 的所有行都从灰色变为黑色。但是,在尝试进入属于 System.Web.Mvc 的代码时,我仍然收到“源代码不可用”错误消息。

所以,我加载了符号,但仍然没有源代码。不是什么大问题,因为我仍然可以用旧方式调试它。但我想知道微软符号服务器有什么用处呢?

0 投票
2 回答
7058 浏览

ruby-on-rails - 何时在 Rails 视图中使用 @ 以及何时使用符号?

在上面的例子中,我不得不在 form_tag 中说@album.id,但在 text_field 中我不得不说:album。我一直在我的观点中混淆这些,并且从来不知道是使用@符号还是符号。是否有一个简单的规则可以明确何时使用什么?

0 投票
1 回答
791 浏览

debugging - 如何获取 VBScript 和 ASP 符号文件

许多 Windows 系统文件可通过下载页面或 http 路径从 Microsoft 获得。我的 WinDbg 找不到 VBScript.dll 和 ASP.dll 的符号文件,而且我似乎无法在 Internet 上找到它们。服务器上的 VBScript.dll 为 5.6.0.8835,ASP.dll 为 6.0.3790.4195。两者的文件日期都比此处下载的符号文件更早。

0 投票
4 回答
16322 浏览

c++ - 使用 Visual Studio 在发布二进制文件中生成符号

更新:我在John Robbins博客上发表了一篇关于。他在这里写了一个回复:

http://www.wintellect.com/CS/blogs/jrobbins/archive/2009/06/19/do-pdb-files-affect-performance.aspx

我正在处理的项目不会为其发布二进制文件构建符号,我想改变它。

一些信息:

  • 主要是 C++ 代码库,一些 C#。
  • 在 VS2k5 下编译,将移至 VS2k8 Team System。
  • 时间关键型软件。
  • 必须启用优化。
  • 源代码提供给客户,所以完整的符号就可以了。

生成我需要的东西的最佳命令行开关是什么,如果有的话,我将采取什么性能影响?

另外,是否有任何“陷阱”需要注意?

0 投票
1 回答
1434 浏览

continuous-integration - 如何清理符号存储?

我们正在从 TFS 运行持续集成构建,并生成大量使用 symstore.exe 存储的符号文件(去年左右价值 67GB)。其他人如何清理他们的符号文件?你自动化这个过程吗?

0 投票
3 回答
2316 浏览

apache-flex - 从 swf 文件中提取资产?

在为小游戏构建 Flex 框架时,我计划将一堆图形资源(电影剪辑符号)捆绑到一个 swf 文件中,然后我将其加载到我的 Flex 应用程序中,然后从 swf 文件中提取符号以用于我的应用。我的问题是:我如何通过 actionscript 做到这一点?

谢谢!