C++ 执行go(F5)与执行execute program(ctrl+F5)有什么区别?(从内存方面考虑)
执行F5是程序能够运行,运行结束后有以下信息Loaded'ntdll.dll',nomatchingsymbolicinformationfound.Loaded'C:\...
执行F5是程序能够运行,运行结束后有以下信息Loaded 'ntdll.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\kernel32.dll', no matching symbolic information found.
The thread 0xDC8 has exited with code 350 (0x15E).
The program 'F:\shapeok\Debug\shapeok.exe' has exited with code 350
(0x15E).
******但是如果ctrl+F5,程序中640次的一个大循环执行8次就出现“0x00426dcb"指令引用的"0x00000000"的内存不能为read的错,而是程序终止。
???为什么F5能运行,ctrl+F5就不行了呢?如何查错?我检查了所有的指针没发现错误。求救啊!!!! 展开
Loaded 'C:\WINDOWS\system32\kernel32.dll', no matching symbolic information found.
The thread 0xDC8 has exited with code 350 (0x15E).
The program 'F:\shapeok\Debug\shapeok.exe' has exited with code 350
(0x15E).
******但是如果ctrl+F5,程序中640次的一个大循环执行8次就出现“0x00426dcb"指令引用的"0x00000000"的内存不能为read的错,而是程序终止。
???为什么F5能运行,ctrl+F5就不行了呢?如何查错?我检查了所有的指针没发现错误。求救啊!!!! 展开
3个回答
展开全部
楼主你好!
一般不会出现这些错误的,可能是程序的代码有逻辑错误。但不是语法错误。
F5是启动调试,请注意,如果没有添加断点,F5仍然是运行。
Ctrl+F5则是不启动调试直接运行。
楼主按F5能运行,是因为没有语法错误,编译器忽略了某些警告方面的问题,注意力集中在了程序的运行上。在楼主当前的代码中,只是检查了'ntdll.dll'这个动态库文件。
按Ctrl+F5,不光要检查语法(最起码的)、逻辑错误(比如有没有存在野指针的现象、数组在经过循环以后是否有越界的情况、内存分配是否正常等),还要预测程序的安全性。所以,如果楼主的代码中出现了以上的问题,那么就是有这样的情况发生。
不知道楼主用的什么编译器,VC6中只有在调试中才能发现这些问题,而VS2008就会在运行的时候检查,甚至还没有运行,在编译之前就为你检查出了这些问题。
希望对你有所帮助,谢谢!
一般不会出现这些错误的,可能是程序的代码有逻辑错误。但不是语法错误。
F5是启动调试,请注意,如果没有添加断点,F5仍然是运行。
Ctrl+F5则是不启动调试直接运行。
楼主按F5能运行,是因为没有语法错误,编译器忽略了某些警告方面的问题,注意力集中在了程序的运行上。在楼主当前的代码中,只是检查了'ntdll.dll'这个动态库文件。
按Ctrl+F5,不光要检查语法(最起码的)、逻辑错误(比如有没有存在野指针的现象、数组在经过循环以后是否有越界的情况、内存分配是否正常等),还要预测程序的安全性。所以,如果楼主的代码中出现了以上的问题,那么就是有这样的情况发生。
不知道楼主用的什么编译器,VC6中只有在调试中才能发现这些问题,而VS2008就会在运行的时候检查,甚至还没有运行,在编译之前就为你检查出了这些问题。
希望对你有所帮助,谢谢!
展开全部
看你的编译器信息 似乎是在写一个小型控制台程序?
前两句是正常的 只是提示你库已经加载 没有发现符号文件
后面就很明显了 肯定是在指针或者内存的操作上出错了 调试程序捕获并显示了这个错误
但这个错误并不致命 所以在你程序单独运行时没有崩溃 但结果可能会和你所期望的不同
错误已经被捕获了 还在问怎么查错。。
我建议你去编程专业论坛的新手区去提问 并把问题代码贴出来 相信有热心人会帮你的。。 =_=b
前两句是正常的 只是提示你库已经加载 没有发现符号文件
后面就很明显了 肯定是在指针或者内存的操作上出错了 调试程序捕获并显示了这个错误
但这个错误并不致命 所以在你程序单独运行时没有崩溃 但结果可能会和你所期望的不同
错误已经被捕获了 还在问怎么查错。。
我建议你去编程专业论坛的新手区去提问 并把问题代码贴出来 相信有热心人会帮你的。。 =_=b
参考资料: 如果您的回答是从其他地方引用,请表明出处
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
F5是调试
Ctrl+F5是运行
Ctrl+F5是运行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询