【发布时间】:2011-03-16 00:49:43
【问题描述】:
对于我正在学习的机器人课程,我们必须从http://www.cs.okstate.edu/~katchou/vboost.cpp 下载代码并将其放入同名项目中。当我调试程序时(通过在发布模式下导航到 Debug>StartDebugging)我收到一条错误消息:
First-chance exception at 0x6eedfb59 (msvcr100.dll) in vboost.exe: 0xC0000005:
Access violation reading location 0x415c3a43.
Unhandled exception at 0x6eedfb59 (msvcr100.dll) in vboost.exe: 0xC0000005:
Access violation reading location 0x415c3a43.
停止调试过程后,会弹出一个窗口说:
Unhandled exception at 0x6eedfb59 (msvcr100.dll) in vboost.exe: 0xC0000005:
Access violation reading location 0x415c3a43.
在调试过程中没有忽略选项并按继续只会再次出现相同的窗口。
然后打开另一个名为 strtol.c 的 c 文件,在“自动”窗口中,我注意到指针 nptr(它是函数 strtoxl 的参数)被赋予了一些值,然后它显示 [bad ptr] 我'我假设意味着指针是坏的。下面是一个错误说明:Error: expression cannot be evaluated。该值不是 0,因此它不是 NULL。程序在 strol.c 的第 99 行停止调试。
当我在调试模式下做同样的事情时,程序运行良好,直到它开始加载在另一个文件中找到的图像的文件名。然后它以 1 而不是通常的 0 退出程序。
这可能看起来有点模糊,但老实说,我不确定出了什么问题。我尝试在从该站点下载的代码中搜索 strtol 或 strtoxl 函数,这两个函数都不存在,我在调用堆栈上注意到 msvcr100.dll 似乎正在访问 strtol.c 文件,但我不知道为什么或如何。任何帮助将不胜感激。
细节: 主机操作系统:Ubuntu 10.10 来宾主机:使用 VirtualBox 的 Windows 7 软件:Visual Studio 2010 Express
【问题讨论】:
标签: c++ c visual-studio debugging crash