gpt4 book ai didi

workflow - 当 Eclipse CDT 索引器卡住时我该怎么办?

转载 作者:行者123 更新时间:2023-12-05 04:59:37 25 4
gpt4 key购买 nike

我使用的是 Eclipse CDT 2020-06(但我在早期版本中遇到过这种情况。)

有时,Eclipse CDT 会在解析某些文件时卡住。百分比指标不前进;并按下任务的取消按钮使其成为“已请求取消”,但它仍然停留在这种状态。因此,我不仅不能为我的项目使用索引,而且大多数其他“异步”任务也会排队并且不会执行。当这种情况发生时,我现在基本上放弃并重新开始;并可能最终用过滤规则屏蔽掉行为不端的文件。

我的问题是:是否有更好的办法来处理索引器卡住的问题?

编辑:

如果我使用 -debug 运行 Eclipse 并启用索引器调试,我得到的唯一输出是:

Indexer: start PDOMFastIndexerTask
Indexer: parsing /cuda-api-wrappers/examples/other/io_compute_overlap_with_streams.cu

这就是我卡住的地方。

最佳答案

如何“解除”Eclipse 的索引器

我现在在 Linux 上专业地使用 Eclipse(仅用于代码编辑,而不是构建——我在命令行上做)4 年了,大量 mono-repos 代码大小高达 200 GiB。我的索引器已被卡住数百次,而这 2 个解决方案似乎非常一致地可以“解开”索引器。

1。增加 Eclipse 可用的堆 (RAM)

将 Eclipse 可用的最大 RAM 从 8 GiB 加倍到 16 GiB 为我修复了它。它在 4841/7617 个源、27463 个 header 处停滞了几个小时,永远解析同一个文件,RAM 达到 8 GiB。将 Eclipse 可用的 RAM(堆)从 8 GiB 更新到 16 GiB 后,我让索引器整夜运行 10 小时,到早上就完成了。

注意:如果尝试为 Boost 库建立索引,一些初步测试让我怀疑 Eclipse 需要大约 64 GiB~128 GiB 的 RAM(堆) 来为它们建立索引,所以我通常只是将所有或大部分 Boost 库排除在索引之外作为一般规则。

要将 Eclipse 可用的 RAM 加倍,请打开(在 Linux 上):/home/username/eclipse/embedcpp-2021-06/eclipse/eclipse.ini,或适合您的等效路径,并修改 -Xmx 值。例如:我将我的内存从 -Xmx8196m(8196 MiB,或 8 GiB)增加到 -Xmx16384m(16384 MiB,或 16 GiB)。关闭并重新打开 Eclipse 以使此更改生效。

此外,打开在 Eclipse 窗口底部显示堆状态(如果默认情况下尚未打开):

窗口 → 首选项 → 常规 → 选中“显示堆状态”框 → 单击“应用并关闭”。这是现在 Eclipse 窗口底部的样子!

enter image description here

来源:

  1. My Google document above , 第 12 页。
  2. 另请参阅:How to view memory usage in eclipse (beginner)

您可能需要为您的 PC 提供更多虚拟内存以支持上述 RAM 增加

如果您没有足够的物理 RAM 来处理这种增加,但您有高速 SSD,则可以将 SSD 用作虚拟内存 物理内存不足。这可以在 Windows 和 Linux 上完成,也可能在 Mac 上完成。如果在 Linux 上,follow my instructions here to increase your vitual memory swapfile到更有用的东西:例如:将其增加到 32 GiB。现在,您可以设置 Eclipse 使用的最大堆大小将等于物理内存(真实 RAM) + 虚拟内存交换文件(在固态驱动器上模拟的假“RAM”)。为其他程序留出一些 GiB——不要全部给 Eclipse。

2。排除不需要索引的所有构建文件夹和第 3 方库(尤其是 Boost!)

请参阅我关于如何使用 1) 资源过滤器和 2) 手动符号链接(symbolic link)生成器脚本(我的首选)执行此操作的非常详细的答案:How to exclude all parts of a folder in Eclipse except for a few specific sub-folders within it

更进一步

我在我的 Eclipse 安装文档中写了关于这个和大量其他设​​置以及您可能会发现有用的东西,您可以在这里找到:

  1. https://github.com/ElectricRCAircraftGuy/eRCaGuy_dotfiles/tree/master/eclipse .
  2. Direct link to the Google doc

另请参阅:What's the recommended Eclipse CDT configuration for big C++ project (indexer takes forever)

关于workflow - 当 Eclipse CDT 索引器卡住时我该怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63442308/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com