我有一个程序,我打算分发给最终用户,并希望收到他们的崩溃报告。如果我使用的是MSVC,我会生成小型转储并将其发送给我,然后用相应的PDB检查它们以获得有用的堆栈跟踪。GCC相当于PDB
与GCC做同样的事情是什么?我可以生成一个堆栈跟踪,但是如果我希望它有用,它需要将调试符号编译到可执行文件中(使用-g)。显然,这对发行版本来说是不可接受的,因为可执行文件的大小可能会相当大。
我搜索了一下,发现引用objcopy能够将调试符号分离到单独的文件中,但是该页面暗示我仍然需要将调试符号与发布可执行文件一起提供,这又显然是不可接受的。
这很好,但是我怎样才能在没有调试符号(因此只包含地址)的情况下生成的堆栈跟踪与稍后分离的调试符号进行协调,以获取我实际可以读取的堆栈跟踪? – pjohansson 2011-01-13 11:05:35