Visual Studio debugging tips
Visual Studio по функциональности и удобству заставляет курить в сторонке все IDE для плюсов. Но, некоторых мелочей, все же, очень не хватает. А иногда они просто хорошо спрятаны...
Довольно часто приходится вставлять куски кода вида hr = GetLastError();, запускать Error Lookup чтобы
прочитать человеческим языком что же произошло. Я уже давно пользуюсь одним из более удобных способов:
- Если статический тип переменной -
HRESULT, то окошки дебаггера Visual Studio (Watch #, Autos, Locals etc) автоматически отображают в колонке Value строку ошибки вместо кода. - Псевдопеременная
errили@errотображает текущее числовое значениеGetLastError(). А для отображения строки вместо числа нужно применить форматирование - добавить через запятую hr. Пример:@err,hr.Visual Studio поддерживает множество форматов. Подробнее - Visual Studio Debugger --> Format Specifiers in C++
- При вызове COM-метода возвращаемое значение HRESULT попадает в регистр eax, поэтому
@eax,hrрасскажет нам в чем беда.
Есть и другие псевдопеременные -
$handles, $vframe, $TID, $ENV, $CMDLINE,
@registername или $registername, $clk, $user. Приятно, а?
0 коммент.:
Отправить комментарий