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 коммент.:
Отправить комментарий