【问题标题】:How to run IlDasm on .obj files?如何在 .obj 文件上运行 IlDasm?
【发布时间】:2020-05-27 22:25:58
【问题描述】:

我已经从c++/cli 编译器编译了.obj 文件(.obj 文件是使用/clr 选项从源代码编译的)。 Docs (https://docs.microsoft.com/en-us/dotnet/framework/tools/ildasm-exe-il-disassembler) 说可以运行ildasm 来查看.obj 文件的一些元数据。但是命令ildasm /metadata foo.obj 说消息错误-ildasm supports only PE files in graphic mode。 Ildasm 取自 msvc 2015。我的命令有什么问题?

【问题讨论】:

  • 这不是它所说的。该选项仅对 .lib 文件有效。 /objectfile 然后让您选择一个嵌入在 .lib 文件中的特定 .obj 文件。这实际上如何有用是非常模糊的,C++/CLI 构建系统不允许生成静态库。
  • @HansPassant,哦,谢谢。但是有没有办法检查 obj 文件的托管令牌(以应对 LNK2022 错误?)
  • .obj 文件上的 Dumpbin.exe /symbols 显示“外部”符号。证明没有符号通常不是很有帮助,充其量您可以识别名称修改问题。

标签: c++ .net c++-cli clr


【解决方案1】:

提供的文档有点迟钝,但基本上你不能在对象文件上使用 ildasm —— 在图形模式下。

但是,根据:here

您可以在文本模式下对目标文件运行 ildasm.exe。

ildasm /text /tokens myobject.obj

【讨论】:

    猜你喜欢
    • 2020-05-06
    • 1970-01-01
    • 2020-04-23
    • 1970-01-01
    • 2017-01-16
    • 2012-03-09
    • 1970-01-01
    • 2020-04-06
    • 2010-09-23
    相关资源
    最近更新 更多