Visual Stduio 在代码注释很长时必定卡死怎么办?

2018-07-01 10:25:59 +08:00
 rayhy

最近在 Visual Studio 2017(已更新到最新) 使用 OpenCV3 库,OpenCV 里面最基础的类 MAT 的注释很长,每次鼠标一碰到 MAT,要出现代码提示时 Visual Studio 就卡死了。这时候 CPU 占用率会突然飙到 30%+,然后也没啥办法,每次遇到这样情况只能进任务管理器关闭进程。

之前以为是机械硬盘的原因,专门换了固态,还是会卡死。想问下大家,有什么办法能解决这个 BUG,或者能单独取消 MAT 的提示,但保住其它代码提示吗?

3226 次点击
所在节点    微软
14 条回复
daigouspy
2018-07-01 10:36:49 +08:00
首先到微软报告这个 bug 吧。另外 opencv 库有源代码的话自己改掉就好。
rayhy
2018-07-01 11:24:41 +08:00
@daigouspy ,我直接用的官方编译好的 OpenCV,这里的代码提示是文件夹里的`.hpp`文件里产生的吗?我搜到一个`mat.hpp`,删掉这里面的注释?
leeg810312
2018-07-01 11:26:38 +08:00
确认是注释问题,就删掉注释
Minys
2018-07-01 11:29:40 +08:00
确实是这样,你可以在 OpenCV 的安装文件夹里面找 include 文件夹,应该是你项目或者系统添加了路径的。只要 hpp 里函数签名和命名空间别乱动按理来说没啥问题的。

或者暴力一点一咬牙把代码提示关了也不是不可以 Xp
daigouspy
2018-07-01 11:36:29 +08:00
@jinxiapu 是的,删掉就行了。
rayhy
2018-07-01 12:09:54 +08:00
@daigouspy , @Minys 感谢,删掉一部分注释后解决。
jedihy
2018-07-01 12:33:02 +08:00
请 file 这个 bug,或告知我 winver 的返回值,我来 file
rayhy
2018-07-01 12:54:13 +08:00
@jedihy 怎么拿 winver 返回值?
我先给你个在我这 100%复现的方法,[]( https://github.com/opencv/opencv/blob/9a8a964b698b00f22229e1bef8f14f3e2f57a980/modules/core/include/opencv2/core/mat.hpp#L574),
把这些行注释随便加在一个函数前面,然后尝试看这个函数的代码提示,就卡死了。
jedihy
2018-07-01 14:37:10 +08:00
cmd 里面敲,好的我来 repro 一下
jedihy
2018-07-01 14:47:19 +08:00
@jinxiapu 我这里不能复现


你可能需要自己在 VS 的右上角点 send feedback 了
jedihy
2018-07-01 14:47:50 +08:00
可以检查一下是否安装了其他插件?
rayhy
2018-07-01 14:50:46 +08:00
rayhy
2018-07-01 20:50:58 +08:00
@jedihy ,请问`Visual Studio 2017 Version 15.8 Preview 3`这个版本的 BUG 修复大概多少天才能进入正式版推送?看了下大概是 4 天前出来预览版的。现在发现不少函数都会出现这个问题,因为 OpenCV 都是把文档写在代码里的。。不能一个一个删啊。
jedihy
2018-07-02 04:01:53 +08:00
@jinxiapu 应该是大概 1 周到 6 周。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/467180

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX