[英]how to know which statement got executed while debugging
在我的代码中,有时可以在一行中进行多个 function 调用。 我不知道哪个 function 现在正在运行。 例如-
int foo(){
if(m==0||n==0) return 0;
return std::max(foo(a,b,m-1,n),foo(a,b,m,n-1));
}
在调试时,根据所有参数了解调用了哪个 function 变得笨拙,有时甚至不起作用。 是否有任何选项可以在调试时查看一行内的进程。 我使用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
调用是内联的,则不太可能工作这些替代方法可能不起作用,但如果它们起作用,它们允许调试未更改的代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.