使用 Mac OS X 10.5 我试图弄清楚如何使用 dtrace 来跟踪 Mach-O 二进制文件的执行。但是,似乎所有符号都已被删除,因此任何尝试使用基于内部类/方法名称的探针的尝试都失败了。
我能够使用 class-dump 转储类、方法名称和它们实现的地址,所以我假设您可以使用它来重建二进制文件中的符号。这是否可能,如果有的话,是否有人知道任何可能有助于它的工具或一些可以帮助我更好地理解它的阅读材料?
这是我第一次尝试在这个级别使用二进制文件,所以任何帮助都将不胜感激。
可以重建用于 gdb 的 Objective-C 符号,请参阅我在Import class-dump info into GDB中的回答。
不,这是不可能的。当符号被剥离时,信息会丢失在每个方法的代码开始的确切位置。您必须反汇编代码才能重建此信息。如果你只知道每个类的方法是什么,你仍然不知道它们在代码中的位置,这正是 dtrace 需要的。