GCC/Clang 链接器映射文件不提供函数返回类型

问题描述 投票:0回答:1

我是一名 MSVC 用户,最近我使用带有 GCC 和 Clang 的 Linux。 我为 MSVC 链接器映射文件制作了一个解析器,以提取一些函数及其参数和返回类型。但我意识到 gcc 映射文件不会生成函数损坏的名称和返回类型以及属性类型。

0x00000000000069c0                _CodeBlockID_::OnEventTrigger(int) // Function
0x000000000007a1c8                _CodeBlockID_::__prop_eventID  // Property

我需要解析和提取这个函数,就像我从 MSVC 生成的地图文件中所做的那样。

我在网上搜索并没有找到任何有用的信息。

无论如何都要强制链接器生成损坏的函数和属性,或者我是否需要使用替代方法来愚弄数据,例如从调试符号或使用 readelf?

c++ linux gcc clang
1个回答
0
投票

我要结束这个问题,因为经过几个小时的研究,我发现提取信息的唯一方法是通过 DWARF 层次结构,这是非常困难和复杂的。 GCC 不提供修饰名称的返回类型。

© www.soinside.com 2019 - 2024. All rights reserved.