<p>As someone who is just starting to learn the intricacies of computer debugging, for the life of me, I can't understand how to read the Stack Text of a dump in Windbg. I've no idea of where to start on how to interpret them or how to go about it. Can anyone offer direction to this poor soul?</p>

<p>ie (the only dump I have on hand with me actually)</p>

<pre>>b69dd8f0 bfa1e255 016d2fc0 89efc000 00000040 nv4_disp+0x48b94

b69dd8f4 016d2fc0 89efc000 00000040 00000006 nv4_disp+0x49255

b69dd8f8 89efc000 00000040 00000006 bfa1dcc0 0x16d2fc0

b69dd8fc 00000000 00000006 bfa1dcc0 e1e71018 0x89efc000</pre>

<p>I know the problem is to do with the Nvidia display driver, but what I want to know is how to actually read the stack (eg, what is b69dd8f4?) :-[</p>

[{'answer_id': 77921, 'author': '1800 INFORMATION', 'author_id': 3146, 'author_profile': 'https://Stackoverflow.com/users/3146', 'pm_score': 0, 'selected': False, 'text': '<p>It might help to include an example of the stack you are trying to read. A good tip is to ensure you have correct debug symbols for all modules shown in the stack. This includes symbols for modules in the OS, Microsoft has made their symbol server publicly available.</p>\n'}, {'answer_id': 78083, 'author': 'Michael Burr', 'author_id': 12711, 'author_profile': 'https://Stackoverflow.com/users/12711', 'pm_score': 2, 'selected': False, 'text': '<p>A really good tutorial on interpreting a stack trace is available here:</p>\n\n<p><a href="http://www.codeproject.com/KB/debug/cdbntsd2.aspx" rel="nofollow noreferrer">http://www.codeproject.com/KB/debug/cdbntsd2.aspx</a></p>\n\n<p>However, even with a tutorial like that it can be very difficult (or near impossible) to interpret a stack dump without the proper symbols available/loaded.</p>\n'}, {'answer_id': 78111, 'author': 'sachaa', 'author_id': 1152057, 'author_profile': 'https://Stackoverflow.com/users/1152057', 'pm_score': 5, 'selected': True, 'text': '<p>First, you need to have the proper symbols configured. The symbols will allow you to match memory addresses to function names. In order to do this you have to create a local folder in your machine in which you will store a local cache of symbols (for example: C:\\symbols). Then you need to specify the symbols server path. To do this just go to: File > Symbol File Path and type:</p>\n\n<pre><code>SRV*c:\\symbols*http://msdl.microsoft.com/download/symbols\n</code></pre>\n\n<p>You can find more information on how to correctly configure the symbols <a href="http://www.microsoft.com/whdc/devtools/debugging/debugstart.mspx#a" rel="noreferrer">here</a>.</p>\n\n<p>Once you have properly configured the Symbols server you can open the minidump from: File > Open Crash Dump. </p>\n\n<p>Once the minidump is opened it will show you on the left side of the command line the thread that was executing when the dump was generated. If you want to see what this thread was executing type:</p>\n\n<pre><code>kpn 200\n</code></pre>\n\n<p>This might take some time the first you execute it since it has to download the necessary public Microsoft related symbols the first time. Once all the symbols are downloaded you\'ll get something like:</p>\n\n<pre><code>01 MODULE!CLASS.FUNCTIONNAME1(...)\n02 MODULE!CLASS.FUNCTIONNAME2(...)\n03 MODULE!CLASS.FUNCTIONNAME3(...)\n04 MODULE!CLASS.FUNCTIONNAME4(...)\n</code></pre>\n\n<p>Where:</p>\n\n<ul>\n<li><strong>THE FIRST NUMBER</strong>: Indicates the frame number</li>\n<li><strong>MODULE</strong>: The DLL that contains the code</li>\n<li><strong>CLASS</strong>: (Only on C++ code) will show you the class that contains the code</li>\n<li><strong>FUNCTIONAME</strong>: The method that was called. If you have the correct symbols you will also see the parameters.</li>\n</ul>\n\n<p>You might also see something like</p>\n\n<pre><code>01 MODULE!+989823\n</code></pre>\n\n<p>This indicates that you don\'t have the proper Symbol for this DLL and therefore you are only able to see the method offset.</p>\n\n<p>So, what is a callstack? </p>\n\n<p>Imagine you have this code:</p>\n\n<pre><code>void main()\n{\n  method1();\n}\n\nvoid method1()\n{\n  method2();\n}\n\nint method2()\n{\n  return 20/0;\n}\n</code></pre>\n\n<p>In this code method2 basically will throw an Exception since we are trying to divide by 0 and this will cause the process to crash. If we got a minidump when this occurred we would see the following callstack:</p>\n\n<pre><code>01 MYDLL!method2()\n02 MYDLL!method1()\n03 MYDLL!main()\n</code></pre>\n\n<p>You can follow from this callstack that "main" called "method1" that then called "method2" and it failed.</p>\n\n<p>In your case you\'ve got this callstack (which I guess is the result of running "kb" command)</p>\n\n<pre><code>b69dd8f0 bfa1e255 016d2fc0 89efc000 00000040 nv4_disp+0x48b94\nb69dd8f4 016d2fc0 89efc000 00000040 00000006 nv4_disp+0x49255\nb69dd8f8 89efc000 00000040 00000006 bfa1dcc0 0x16d2fc0\nb69dd8fc 00000000 00000006 bfa1dcc0 e1e71018 0x89efc000\n</code></pre>\n\n<p>The first column indicates the Child Frame Pointer, the second column indicates the Return address of the method that is executing, the next three columns show the first 3 parameters that were passed to the method, and the last part is the DLL name (nv4_disp) and the offset of the method that is being executed (+0x48b94). Since you don\'t have the symbols you are not able to see the method name. I doubt tha NVIDIA offers public access to their symbols so I gues you can\'t get much information from here.</p>\n\n<p>I recommend you run "kpn 200". This will show you the full callstack and you might be able to see the origin of the method that caused this crash (if it was a Microsoft DLL you should have the proper symbols in the steps that I provided you).</p>\n\n<p>At least you know it\'s related to a NVIDIA bug ;-) Try upgrading the DLLs of this driver to the latest version.</p>\n\n<p>In case you want to learn more about WinDBG debugging I recommend the following links:</p>\n\n<ul>\n<li><a href="http://blogs.msdn.com/tess/default.aspx" rel="noreferrer">If broken it is, fix it you should</a></li>\n<li><a href="http://www.microsoft.com/events/EventDetails.aspx?CMTYSvcSource=MSCOMMedia&amp;Params=~CMTYDataSvcParams%5E~arg+Name%3D%22ID%22+Value%3D%221032298076%22%2F%5E~arg+Name%3D%22ProviderID%22+Value%3D%22A6B43178-497C-4225-BA42-DF595171F04C%22%2F%5E~arg+Name%3D%22lang%22+Value%3D%22en%22%2F%5E~arg+Name%3D%22cr%22+Value%3D%22US%22%2F%5E~sParams%5E~%2FsParams%5E~%2FCMTYDataSvcParams%5E" rel="noreferrer">TechNet Webcast: Windows Hang and Crash Dump Analysis</a> </li>\n<li><a href="http://delicious.com/popular/windbg" rel="noreferrer">Delicious.com popular links on WinDBG</a></li>\n</ul>\n'}]
['https://Stackoverflow.com/questions/77887', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/14173/']