Welcome to MSDN Blogs Sign in | Join | Help

Browse by Tags

All Tags » C/C++   (RSS)
A fellow reader sent a comment outlining the following problem: I'm using the DMPSTK example from the Debugging Tools SDK. If I generate a crash dump from within Visual Studio 2005, I can see the call stack perfectly. However, if I create my own crash Read More...
While I was working on writing some API tests for a module that was being integrated into the Xbox Dashboard application, there was some rework to the class that happened in the middle process. In doing so, the developer decided to make a bunch of the Read More...
I was reviewing a check-in the other day, and one of the changes was to fix a line of code which resulted in one of the new "safe CRT" warnings: warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. Here is Read More...
For a reference, here are some links to the previous parts in this series: · Prolific Usage of MiniDumpWriteDump · Opening a Crash Dump File · Getting the Stack from a .DMP File · Getting the Crash Details from a .DMP File · Showing the Disassembly from Read More...
When investigating a crash, it can often be beneficial to see the assembly leading up too, and even following the event. It turns out that generating the corresponding assembly at an address is pretty easy. The hard part is finding a good starting point Read More...
Aside from a stack trace (the "where"), you probably want to know something about the crash (the "why" or the "how"). With the code below, we can query some of the basic details about what happened. From this we will at least be able to determine if the Read More...
So now that we have a memory dump file , and know how to open it , we will want to pull some useful data out. To start with, we will grab the stack trace (which is arguably one of the more important pieces). And in case you've stumbled across the "dumpstk" Read More...
So let's assume for the moment that you have a collection of crash dump files from your team's application. These files may be generated from your stress tests, betas, etc. But where they come from really isn't important, what is important is that we Read More...
As a precursor to a series on programmatically querying crash dump files, I wanted to first talk about the MiniDumpWriteDump function. You don't necessarily need to wait for your application to crash in order to generate a memory dump. As soon as you Read More...
Due to a policy around supporting and encouraging internationalizable software, there are certain system APIs which only have a UNICODE version (functions typically with the W postfix). One example which is missing the plain old ANSI version is the StrCmpLogicalW Read More...
Old versions of Microsoft's C++ compiler supplied a form of the new keyword which would return NULL if the memory allocation failed (to mimic the behavior of malloc ). The newer (more C++ compliant) versions of the compiler will instead throw a std::bad_alloc Read More...
This last weekend I was writing a COM object for submitting/editing entries into a SQL Server 2005 database we have for collecting project metrics. To do so, I was using the templated OLE DB functions: CCommand < CDynamicAccessor >, and things were Read More...
Microsoft's C/C++ compiler supports the /Gh and /GH switches, these options allow the developer to inject a function call into the beginning and exit of every procedure being compiled. Aside from enabling some cool logging/traceability scenarios, you Read More...
Very little attention is often applied to PDB files, but if you do ship them to customers, then you will want to ensure they don't contain more information than is necessary. The debugging information stored here can be used to reverse engineer or attack Read More...
Throughout the software development cycle there is a wide array of areas where you need to generate various reports which include nifty looking charts. Whether you are generating performance reports, bug trends, tracking memory or CPU utilization, or Read More...
More Posts Next page »
 
Page view tracker