On 09/24/2012 06:21 PM, Andrew Bernat wrote:
>> So it does get the instrumentation's printf, but then the exception gets
>> thrown and not caught, forcing an bad exit and that terminate message
>> from libstdc++.
>>
>> Any ideas?
>
> Yes. In short, we can mangle exception handling due to our code
> insertion technique. I have some research code to handle this (as well
> as nastier binaries) that I'll test out here. I can test a fix pretty
> quickly, and have some ideas for a more elegant technique.
Ok, great! I'm glad you've already thought about this, because I expect
it's definitely possible to get exception unwinding correct, but maybe
not trivial.
I'm not clear from your reply about the current status of dyninst.git
vs. your research. Do you mean that Dyninst doesn't handle exceptions
at all right now? Or that it works barring some bugs (like my test),
and your research is the more elegant technique?
Thanks,
Josh
|