디버깅을 위해 gdb를 사용하고 있으며 몇 가지 보조 명령을 정의해야 합니다. 기본적으로 나는 사용자 정의 명령이 주어진 인수 수에 따라 다른 작업을 수행하기를 원합니다.
$arg*
그래서 그것이 주어지는 지 테스트하고 싶습니다 . 아래 코드를 참조하십시오.
define pgdir
set $pgdir = $arg0
if ($arg1) {
// show the corresponding PDE
} else {
// show the whole page directory
}
end
변수가 무효인지 테스트할 수 있나요?
답변1
당신은 그것을 사용할 수 있습니다편의기능 $_isvoid()
. 변수가 비어 있으면 1이 반환됩니다.
(gdb) set $v = 1
(gdb) print $_isvoid($v)
$1 = 0
(gdb) print $_isvoid($v2)
$2 = 1
답변2
gdb
$argc
매뉴얼에 따라 지원 범위는 0..10까지 확장되므로 귀하의 경우에는
define pgdir
if $argc == 2
...
else
...
end
end
답변3
내 문제에는 $argc
이 작업을 수행할 수 있는 변수가 있습니다.
define pgdir
set $pgdir = $arg0
if ($argc == 1) {
// show the corresponding PDE
} else {
// show the whole page directory
}
end
문제에 관해서는변수가 무효인지 테스트하는 방법, 나는 까다롭고 우아하지 않은 방법을 생각해 냈습니다.변수가 void 값을 가진 변수와 같은지 테스트합니다..
define func
if ($var_to_test == $var_that_no_one_is_like_to_use_so_that_it_is_void)
// do something
end