Пусть самый ленивый связанный список, как:
#include <assert.h>
[...]
struct value {
int i_;
};
struct values {
struct value * first;
struct values * next;
};
[...]
struct values values_;
[...]
assert(values_ != NULL);
assert(values_->first != NULL);
assert(values_->first->i_ == 4);
assert(values_->next != NULL);
assert(values_->next->first != NULL);
assert(values_->next->first->i_ == 8);
assert(values_->next->next == NULL);
Я прочитал в https://stackoverflow.com/a/46289993, что print *values_
- это улучшение по сравнению с print values_
, затем print values_->first
и print values_->next
.
Но я не знаю, как получится что-то вроде $i = {first = 0x?????? {i_ = 4}, next = 0x?????? {first = 0x?????? {i_ = 8}, next = 0x0}}
с помощью одной команды gdb
.
Существует https://stackoverflow.com/a/16493871/1737973 и https://sourceware.org/gdb/current/onlinedocs/gdb/Pretty-Printing.html. Есть ли самый ленивый способ, чем те?