如何知道调试时执行了哪个语句
how to know which statement got executed while debugging
在我的代码中,有时可以在一行中进行多个函数调用。我不知道哪个函数现在正在运行。 例如-
int foo(){
if(m==0||n==0) return 0;
return std::max(foo(a,b,m-1,n),foo(a,b,m,n-1));
}
在调试时,了解基于所有参数调用了哪个函数变得笨拙,有时甚至不起作用。是否有任何选项可以在调试时查看一行中的进程。我使用codelite IDE。
当您在调试代码时遇到困难时,这通常意味着您在一行中执行了太多操作。这意味着您应该将一个复杂的语句拆分为多个语句。在您的情况下,如下所示:
int foo(){
if(m==0||n==0) return 0;
auto a = foo(a,b,m-1,n);
auto b = foo(a,b,m,n-1);
return std::max(a, b);
}
当前答案的替代方案可能是:
- 进入声明。如果内联
foo
调用,则不太可能工作 - 调试反汇编
这些替代方法可能不起作用,但如果它们起作用,它们允许调试未更改的代码。
相关文章:
- 如何及时执行if语句?
- 获取上次执行的返回语句的行
- 如何仅在父循环的所有迭代都为真时才执行嵌套的 if 语句?
- 表单显示对话框函数错误,并且不执行下面的语句
- 如何知道调试时执行了哪个语句
- 在可变函数调用中执行一次语句
- 在多个对象上执行同一语句的零成本抽象
- 我怎样才能接受输入作为双精度值并执行 IF ELSE 语句
- c++:if 语句无法正常运行,并继续执行无效输出
- 为什么 cout 语句在传递指向函数的指针时没有执行?
- c++ IF 语句执行,但添加 ELSE 会显示错误
- C 程序如果功能中的语句不执行.在逻辑上似乎是错误的
- 当您希望在Arduino Uno编程中同时执行不同函数时,使用什么代码/语句
- OR 语句执行所有评估
- C++ Switch 语句在中断后执行
- C++ goto 语句执行而不调用
- 对条件语句执行逐位AND XOR
- 两个语句执行之间的时间差不一致
- 使用cout语句执行while循环
- 在c++中使用嵌套的if语句执行while循环