GDB Если оператор возвращает значения? - PullRequest
3 голосов
/ 01 апреля 2011

Есть ли способ, которым я могу читать, если операторы оцениваются? Я имею в виду, как получить возвращаемое значение realpath в -

if(realpath(path.c_str(), realPath) == 0)

Ответы [ 3 ]

2 голосов
/ 01 апреля 2011

Вы можете войти и завершить функцию realpath.Возвращенное значение будет напечатано на экране.

0 голосов
/ 01 апреля 2011

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

Проверьте эту страницу для получения дополнительной информации.

(gdb) set variable p = malloc(sizeof(int))

(gdb) print p
$2 = (int *) 0x40013f98    (address allocated by malloc)

(gdb) set variable *p = 255

(gdb) print *p
$3 = 255
0 голосов
/ 01 апреля 2011

в приглашении gdb (если вы включили символы отладки при компиляции)

print realpath(path.c_str(),realPath)

, результат будет напечатан, очень изящно.

...