0

嗨,我想改进我的数学库,

当我计算我所做的事情的长度时

assert( !equal(len,0.0));
const f32 invsqrt = 1.0/sqrt(len);
X*= invsqrt;
Y*= invsqrt;
Z*= invsqrt;

这段代码很好,如果我错误地除以零,代码就会中断

“运行时已请求在第 .. Vector.h 第 88 行中断应用程序”

这很好,但我想做得更好,我想显示错误的真正位置。

因此,我不想显示“vector.h”和第 88 行,而是显示“main.cpp”“第 15 行”(如果在 main 的第 15 行调用 getLength 函数)。

Vector 只是标题,所以我认为实现这一点是可能的(这只是一种感觉).. 但是如何?

提前致谢。我希望你能看到这样做有多么有用。

4

1 回答 1

1

那就是代码所在的位置,因此它将中断。

我认为您的意思是查看调用堆栈。
在 Visual Studio 中,它位于:Debug -> Windows -> Call Stack

调用堆栈可以显示你是如何到达那行代码的(在工作流程中调用了哪个函数)

于 2013-02-07T14:59:09.217 回答