我正在使用radare2,我已经反汇编了函数:sym.loop
,它包含一个switch
女巫,有4个cases
调用不同的函数。在任何函数调用之后,程序退出该loop
函数。
这是我的问题:exit
在radare中第一次显示后,反汇编代码停止。我看不到函数的其余代码,尽管有跳转指示退出函数后还有更多内容。
我是否必须按下或做任何事情才能显示其余部分还是它是一个错误?
下面是循环函数的代码:
void loop(int a) {
type[0] = a;
while (true) {
switch (type[0]) {
case 1:
function1(arg);
break;
case 2:
function2(arg);
break;
case 3:
function3(arg);
break;
default:
printf("Command unrecognized.\n");
case 4:
function4();
break;
}
}
}
注意:如果代码中有任何错误,我可能会导致尝试从调试消息或其他任何内容中清除代码......但这个想法是主代码没有错误,它只是不打印的反汇编程序整个功能。并且反汇编代码在 case1 的中断(退出函数)后停止。
(更新:)这是我正在谈论的错误示例(不是上面的代码,而是相同的错误):
不显示返回值。