DynamoRIO / dynamorio

Dynamic Instrumentation Tool Platform
Other
2.61k stars 554 forks source link

auto-symbolize callstacks in DR, client, and app crash reports #973

Open derekbruening opened 9 years ago

derekbruening commented 9 years ago

From bruen...@google.com on November 08, 2012 12:54:28

xref issue #968 capturing stderr and looking for callstacks there has some issues: buffering, app output interfering, impossible to use on Windows services, etc.

so we're leaning toward a file-driven approach, using forensic files since we already have support for those (on Windows).

we'll do it incrementally: get data somewhere (for now forensic files I guess: so should -diagnostics be on by default in debug build? or it will just clutter things up?), add priv lib data to forensics file ( issue #972 ), add forensic files to linux ( issue #971 ), add a script to symbolize a callstack in a forensics file (this issue), and maybe or maybe not have it automatically invoked.

prob best is to just have a tool that symbolizes a callstack in a forensics file, and have chrome scripts run it on all files in logdir post-run. the hard part is making it automated for general DR users.

to automate: drrun looks for forensic file w/ proper pid and timestamp (to rule out stale files) and symbolizes at end? but what about child processes (think about browsers_tests).

for symbolizing: create a separate DR tools/symquery that duplicates drmem's, or have drrun link w/ drsyms?

Original issue: http://code.google.com/p/dynamorio/issues/detail?id=973

derekbruening commented 7 years ago

Xref DynamoRIO/drmemory#823