Performance:Leak Tools: Difference between revisions

Line 198: Line 198:
On Mac and Linux, the stack traces generated by our internal debugging tools don't have very good symbol information (since they just show the results of <code>dladdr</code>).  The stacks can be significantly improved (better symbols, and file name / line number information) by post-processing.  Stacks can be piped through the scripts <code>mozilla/tools/rb/fix-linux-stack.pl</code> or <code>mozilla/tools/rb/fix-macosx-stack.pl</code> to do this.  These scripts are designed to be run on balance trees in addition to raw stacks; since they are rather slow, it is often '''much faster''' to generate balance trees (e.g., using <code>make-tree.pl</code> for the refcount balancer or <code>diffbloatdump.pl --use-address</code> for trace-malloc) and ''then'' run the balance trees (which are much smaller) through the post-processing.
On Mac and Linux, the stack traces generated by our internal debugging tools don't have very good symbol information (since they just show the results of <code>dladdr</code>).  The stacks can be significantly improved (better symbols, and file name / line number information) by post-processing.  Stacks can be piped through the scripts <code>mozilla/tools/rb/fix-linux-stack.pl</code> or <code>mozilla/tools/rb/fix-macosx-stack.pl</code> to do this.  These scripts are designed to be run on balance trees in addition to raw stacks; since they are rather slow, it is often '''much faster''' to generate balance trees (e.g., using <code>make-tree.pl</code> for the refcount balancer or <code>diffbloatdump.pl --use-address</code> for trace-malloc) and ''then'' run the balance trees (which are much smaller) through the post-processing.


'''Warning''': <code>fix-macos-stack.pl</code> has not yet been updated for the change in debugging format on Mac OS X 10.5.
'''Warning''': <code>fix-macos-stack.pl</code> has not yet been updated for the change in debugging format on Mac OS X 10.5, so it doesn't always show the correct file, and never shows line numbers.


== Getting symbol information for system libraries ==
== Getting symbol information for system libraries ==
Confirmed users
856

edits