GNU GDB: настроить формат вывода точек наблюдения

Каждый раз, когда изменяется точка наблюдения, GDB будет печатать старое значение и новое значение. Однако иногда я не хочу печатать значение в десятичном формате по умолчанию: например, если я смотрю *(unsigned*)$ebp для отладки возможного переполнения стека (wow, SO...), значение является бессмысленным, если не отображается в шестнадцатеричном формате (например, p/x при печати чего-либо).

Можно ли установить формат отображения для конкретной точки наблюдения? Благодарю.

1 ответ

Решение

Можно ли установить формат отображения для конкретной точки наблюдения?

Если вы хотите, чтобы точка наблюдения печаталась в шестнадцатеричном формате, установите ее в качестве отслеживания указателя, например

watch *(char**)$ebp     or
watch *(void**)$ebp
set output-radix 16

Пожалуйста, обратитесь к этому ответу Как заставить GDB распечатать все значения в шестнадцатеричном режиме? Вы можете установить все типы распечаток, происходящих из-за GDB (может быть, из-за точек останова, точек наблюдения или ваших пользовательских распечаток) будут иметь шестнадцатеричный формат.

Другие вопросы по тегам