2013-07-01 2 views
0

как сохранить возвращаемое значение вызова expr в gdb? Например:магазин gdb call expr значение возврата

(gdb) call rbt_next(&some_global,0x0) 
$2 = (rbt_node *) 0x7169ee00 

rbt_next возвращает указатель следующего узла. Однако, когда я пытаюсь сделать:

(gdb) set $w_sess = call rbt_next(&some_global,0x0) 
Error: No symbol "call" in current context 

Я получаю вышеуказанную ошибку.

Причина, по которой я хочу это, заключается в том, что мне нужно пройти глобальное дерево rb, чтобы найти совпадение. То, что я хочу сделать это: -

while $w_sess = call rbt_next($some_global, $c_sess) != 0x0 
    if $c_sess == $w_sess 
     printf "Sess found in tree\n" 
    else 
     printf "Sess not found\n" 
    end 
end 

ответ

2

Оставьте это слово call. Часть после set $foo = - это просто обычное выражение, которое вы бы использовали с print.

+0

спасибо. это работает – user967850

 Смежные вопросы

  • Нет связанных вопросов^_^