Ok, i recently came accross the following issue. My work has not switched to vs2k5 yet, but i needed to do some debugging on vista. Except that every time i forgot to remove the symbols server path from my symbols directory(same thing would happen if you had vista symbols installed locally too) my ide would crash when it attempted to load up the symbols.
The cause There was an operation being done something to the effect of this.
foo(int iIndex)
{
if( iIndex < 16 )
g_ErrorTable[iIndex];
}
.. why is this bad well because the ide was accessing invalid memory when the iIndex was a large negative number.
The fix this one is pretty easy. goto your vs program files directory, common7\packages\de****, and copy the file NatDbgDe.dll, then rename the copy NatDbgDe_1.bin. Open it up in visual studio (should be using the hex editor built into vs) and search for the following "0F 8f 4D 83 02 00" then replace it w/ this "0F 87 4D 83 02 00". This will basiccaly turn the comparison of iIndex into an unsigned comparison, meaning only 0 - 15 will actually make the condition true. Then backup your original natdbgde.dll file and replace the current one w/ the .bin file you made the changes in and bam no more crash. The symbols will still fail to load, but atleast you wont lose your ide. Or i suppose you could just move onto vs2k5... but hey, thats not always an option depending on where in the development cycle you are.
Visual C++13
|