Here are some tips of Microsoft Visual Studio 6.0.
When we want to get the LastError message, we often using the following code.
LPVOID lpMsgBuf;
FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
(LPTSTR) &lpMsgBuf,
0,
NULL
);
// Process any inserts in lpMsgBuf.
// …
// Display the string.
MessageBox( NULL, (LPCTSTR)lpMsgBuf, “Error”, MB_OK | MB_ICONINFORMATION );
// Free the buffer.
LocalFree( lpMsgBuf );
But now VisualSudio 6.0 has provied a virtual Pseudoregister called
we can simply input the expression in the watch window and we will get the LastError message.
@ERR
;Last error value,the same value returned by the GetLastError() API function
@TIB
;Thread information block for the current thread
@CLK
;Undocumented clock register; usable only in the Watch window
@EAX, @EBX, @ECX, @EDX, @ESI, @EDI, @EIP, @ESP, @EBP, @EFL
;Intel CPU registers
@CS, @DS, @ES, @SS, @FS, @GS
;Intel CPU segment registers
@ST0, @ST1, @ST2, @ST3, @ST4, @ST5, @ST6, @ST7
;Intel CPU floating-point registers
[1]An introduction to debugging in MSVC++ using Pseudoregisters
[2]Microsoft Visual C++ Tips and Tricks
Permalink: Code Library - Microsoft Visual C++ Tips
Subcribe the update with Google Reader.
RSS feed for comments on this post · TrackBack URI
Leave a reply