什么是所谓的“框架”?在视觉工作室?
在 Visual Studio 的“调用堆栈”窗口中,它报告:
[Frames below may be incorrect and/or missing, no symbols loaded for IPCamera.ax]
What does it Means by Frames, and Why Missing Symbols might Cause it Correct?AFAIK,符号仅用于调试信息,缺少符号只会使源头看不见。
In the Call Stack window of visual studio, it reports:
[Frames below may be incorrect and/or missing, no symbols loaded for IPCamera.ax]
What does it mean by Frames, and why missing symbols may cause it incorrect?AFAIK,symbols are just for debugging info,missing symbols will only make the source invisible .
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
帧==堆栈帧。
堆栈帧是存储调用堆栈上每个函数调用的信息的记录。它包含被调用函数的所有参数、局部变量和潜在的返回值。
对于当前正在运行(即尚未退出)的每个函数调用,调用堆栈上都有一个附加帧。
缺少符号确实可能会导致堆栈帧显示不正确,主要是由于两种现象:
在这两种情况下,实际代码中的函数调用都会转换为其他内容,因此堆栈帧会丢失(因为没有生成调用,因此没有堆栈帧)。
Frames == stack frames.
A stack frame is a record that stores information for each function call on the call stack. It contains all parameters, local variables and potential return values of the function that got called.
For each function call that is currently running (i.e. that has not yet exited), there is an additional frame on the call stack.
Missing symbols may indeed cause incorrect display of the stack frames, mainly due to two phenomena:
In both cases, function calls in the actual code are transformed into something else, so stack frames are lost (because no call is generated, and hence no stack frame).
Microsoft 为其大多数(如果不是全部)操作系统 DLL 提供了符号文件。如果配置 Visual Studio 来加载它们,则可以避免调用堆栈显示中丢失堆栈帧的问题。请参阅这篇文章了解更多信息:
链接
Microsoft provides symbol files for most if not all of its OS DLLs. If you configure Visual Studio to load them, you can avoid the missing stack frame problem in the call stack display. See this article for more info:
Link