How to get a stacktrace with WinDbg

  • Revision slug: How_to_get_a_stacktrace_with_WinDbg
  • Revision title: How to get a stacktrace with WinDbg
  • Revision id: 59661
  • Created:
  • Creator: Editmonkey
  • Is current revision? No
  • Comment

Revision Content

Introduction

Sometimes you need to get a stacktrace (call stack) for a crasher or hang of Firefox but Talkback fails because it's a special crasher or a hang. This article describes how to get a stacktrace in those cases with WinDbg on Windows.

Requirements

To get such a stacktrace you need to install the following software:

Debugging Tools for Windows

Microsoft distributes the Debugging Tools for Windows for free, those include WinDbg which you will need here. Download it from for 32-bit versions of Windows (if you own a 64-bit version of Windows, follow the link on that page to the 64-bit version). Then install it, the standard settings in the installation process are fine.

A Firefox version for developers

You need a special Firefox version with which you can get good results from WinDbg. It is a current version built by a developer with no official branding from the official source code.

Debugging

First you have to start WinDbg via Start->Programs->Debugging Tools for Windows->WinDbg. Now open the firefox.exe executable you downloaded before via File->Open Executable... You should now see a text window with some output in it and a input field below it. Now run Firefox via Debug->Go and try to reproduce the crasher or hang you are seeing. Switch back to WinDbg and look if there is some new text in the WinDbg window saying "Access violation" or similar. If there is not, click on Go->Break (most likely you have to do this when you want to debug a hang). You now should see a input field again, enter "kp" (without quotes) there. Now it might take a while until you get some output, it needs to download between 10 and 20MB from the internet. Wait until it is done and then mark the text in that window and copy it into your clipboard with Ctrl+C so you can paste the stacktrace as a bug comment if needed.

Revision Source

<p>
</p>
<h3 name="Introduction"> Introduction </h3>
<p>Sometimes you need to get a stacktrace (call stack) for a crasher or hang of Firefox but Talkback fails because it's a special crasher or a hang. This article describes how to get a stacktrace in those cases with WinDbg on Windows.
</p>
<h3 name="Requirements"> Requirements </h3>
<p>To get such a stacktrace you need to install the following software:
</p>
<h4 name="Debugging_Tools_for_Windows"> Debugging Tools for Windows </h4>
<p>Microsoft distributes the Debugging Tools for Windows for free, those include WinDbg which you will need here. Download it from <a class="external" href="http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx"> for 32-bit versions of Windows (if you own a 64-bit version of Windows, follow the link on that page to the 64-bit version). Then install it, the standard settings in the installation process are fine.
</a></p><a class="external" href="http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx">
<h4 name="A_Firefox_version_for_developers"> A Firefox version for developers </h4>
<p>You need a special Firefox version with which you can get good results from WinDbg. It is a current version built by a developer with no official branding from the official source code.
</p>
<h3 name="Debugging"> Debugging </h3>
<p>First you have to start WinDbg via Start-&gt;Programs-&gt;Debugging Tools for Windows-&gt;WinDbg. Now open the firefox.exe executable you downloaded before via File-&gt;Open Executable... You should now see a text window with some output in it and a input field below it.
Now run Firefox via Debug-&gt;Go and try to reproduce the crasher or hang you are seeing. Switch back to WinDbg and look if there is some new text in the WinDbg window saying "Access violation" or similar. If there is not, click on Go-&gt;Break (most likely you have to do this when you want to debug a hang). You now should see a input field again, enter "kp" (without quotes) there. Now it might take a while until you get some output, it needs to download between 10 and 20MB from the internet. Wait until it is done and then mark the text in that window and copy it into your clipboard with Ctrl+C so you can paste the stacktrace as a bug comment if needed.
</p></a>
Revert to this revision