Mic*_*ael 7 c++ compiler-construction linker visual-studio
我的一位同事向客户发送了一个热修复版本,随后删除了pdb文件.有问题的构建正在崩溃(间歇性),我们有几个崩溃转储.我们在版本控制中拥有所有源代码,并且可以将其编译为等效的.exe并获取该符号的符号.但是,这些符号与崩溃转储完全不匹配.似乎有几个函数被一些常数偏移所关闭,但我们只看了一小部分.
我很想能够做到以下几点(我可以这样假配件手工,但它是一个巨大的工作量):获得在转储和投三分球每个线程的堆栈跟踪转储到合适的类型,让它们出现在Visual Studio调试器中.我正在使用2005年,如果这很重要的话.
是否有工具让我们重新创建一个pdb给定源代码,所有.obj文件和原始.exe?或者当我们编译/链接说"使它完全像你刚刚做的其他exe"或类似的东西时,是否有一个设置?
根据目前为止的答案进行快速更新:我有我们发送给客户的exe文件,而不是与之对应的pdb,如果有帮助的话.我很快就不会向他们发送新版本(如果可能的话),因为它需要大约一周的时间才能获得崩溃转储,而客户已经在"为什么这不是已经修复了?" 阶段.(如果我们做派另一个构建,我宁愿它是一个,要么解决问题,或者对感兴趣的区域,而不仅仅是相同代码的其他调试.)我知道这是可以手动做一些这方面有很多猜测; 这就是我们目前正在做的事情.但这很痛苦,所以我希望有一种自动化的方法.
当你有了源代码后,很容易找到它们和exe文件之间的对应关系。只需要求他们向您发送 exe 文件以及崩溃日志并使用 IDA 即可。
考虑到您只需要“一次使用”,您所要求的要困难得多。
| 归档时间: |
|
| 查看次数: |
573 次 |
| 最近记录: |