未找到 qsort.cpp(在 Visual Studio 中调试)
Posted
技术标签:
【中文标题】未找到 qsort.cpp(在 Visual Studio 中调试)【英文标题】:qsort.cpp not found (debug in Visual Studio) 【发布时间】:2017-10-10 15:15:53 【问题描述】:我在 VS 2017 中调试我的代码并收到消息: 未找到 qsort.cpp
You need to find qsort.cpp to view the source for the current call stack frame
Original location: minkernel\crts\ucrt\src\appcrt\stdlib\qsort.cpp
Locating source for 'minkernel\crts\ucrt\src\appcrt\stdlib\qsort.cpp'. Checksum: SHA256 a4 7d 36 67 4b 4a f4 5c 68 59 42 17 a7 26 df b7 93 50 a6 d2 f5 76 aa ca cc d1 7 23 22 90 ee 76
我该怎么办?
【问题讨论】:
如果此文件存在,请尝试解决方法:关闭选项“选项 -> 调试 -> 常规 -> 要求源文件与原始版本完全匹配”。 注意:您可能没有每个 C 库函数的源代码(因此无法将其调试到它)。 是否有理由希望获得 Visual Studio C 运行时库的源代码?如果需要,请使用开源编译器。C:\Program Files (x86)\Windows Kits\10\Source\ <VERSION> \ucrt\stdlib
我应该怎么做?当你调试时不要尝试进入运行时的实现,除非你真的需要调试如何已经实现了。
【参考方案1】:
我遇到了和你一样的问题,就像下面的屏幕截图一样,然后我点击浏览并找到 qsort.cpp,在 C:\Program Files (x86)\Windows Kits\10\Source\ 中浏览这个文件10.0.15063.0\ucrt\stdlib,我可以正常进入这个cpp文件了。
【讨论】:
【参考方案2】:为什么你应该使用std::sort
而不是qsort
std::sort
在 C++11 中是一个 O(NlgN),其中未指定 qsort。
由于内联,std::sort 可能会为其排序类型生成最佳代码,qsort 只能在 void * 上使用您的比较。
std::sort
是类型安全的。
测试表明 std::sort
比 qsort
快 250% 到 1000%。
当然,对于您知道值范围的特殊情况,有些排序算法甚至更快,例如您可以获得 O(N) 的几个离散值。
【讨论】:
以上是关于未找到 qsort.cpp(在 Visual Studio 中调试)的主要内容,如果未能解决你的问题,请参考以下文章
未找到 Visual Studio 2022 Android 设备
无法在 Visual Studio 2010 中使用函数 posix_memalign
Windows小技巧11--Visual Studio 未找到与约束ContractName *** 错误
Docker - 无法计算缓存键:未找到 - 在 Visual Studio 中运行良好