缺陷、特征和问题

QGIS是一个很大程度上由志愿者驱动的项目,是一个由开发人员、文档编制人员、翻译人员和支持者组成的专门团队的工作。尽管团队努力在没有错误的情况下发布QGIS,但可能仍然存在一些错误。如果您发现错误或希望添加新功能,请报告!

在哪里报告?

QGIS项目的每个部分都有一个专门的地方,在那里可以报告、管理和讨论问题(特性请求或bug)。根据您遇到问题的区域,下表指示报告问题的正确存储库:

放置您发现的错误或请求的功能

报告问题的位置

应用程序(QGIS桌面、QGIS服务器)

https://github.com/qgis/QGIS/issues

QGIS Website (https://qgis.org)

https://github.com/qgis/QGIS-Website/issues

QGIS Documentation (https://docs.qgis.org)

https://github.com/qgis/QGIS-Documentation/issues

外部插件

插件描述中设置的作者存储库

有关帮助和问题,请联系 邮件列表 .

QGIS应用报告问题

qgis应用程序(qgis桌面和qgis服务器)问题可在 Github . 为了提交或评论报告,您需要注册并登录。

在报告问题之前

在提交问题之前,请检查当前打开的问题,确保没有创建副本。如果您有关于某个问题的其他信息,可以将其添加到现有票据中。第三方插件也可能导致问题。如果您已经安装了,您还应该验证没有它们问题仍然是可复制的。请不要在单个错误报告中报告多个不相关的错误。

当您登录时,一个 New Issue 按钮可用。按照说明选择。

在发送报告之前,请单击“预览”检查报告的格式。如果没有拼写错误,请避免编辑现有报告。在其他情况下,最好添加更多评论。

创建回溯

如果发生崩溃,那么包含一个回溯可能很有用,因为在另一台机器上这个bug可能是不可复制的。

在Linux上,qgis自动尝试使用 gdb 连接到崩溃进程以生成回溯。但是一些发行版禁用了将调试程序连接到正在运行的进程的可能性。在那种情况下 gdb 只会产生一个相当无用的消息,比如:

QGIS died on signal 11Could not attach to process.
If your uid matches the uid of the target process,
check the setting of /proc/sys/kernel/yama/ptrace_scope, or try
again as the root user.
For more details, see /etc/sysctl.d/10-ptrace.conf
ptrace: Operation not permitted.
No thread selected
No stack.
gdb returned 0
Aborted (core dumped)

在这种情况下,您应该通过设置 kernel.yama.ptrace_scope 到0英寸 /etc/sysctl.d/10-ptrace.conf (或) /etc/sysctl.conf 或其他文件 /etc/sysctl.d/ 然后运行 sysctl -p 作为根。当您在那之后重现崩溃时,将改为打印回溯。

如果您不能重现崩溃,那么当前目录中仍然应该有一个核心转储,可以在进程终止后进行分析。它叫 core (在某些系统中,会在文件名后面附加一个点和进程ID)。

在某些发行版上,核心转储的创建也被禁用。如果你只是 Aborted 而不是 Aborted (core dumped) 当车祸发生时。那你就得跑了 ulimit -c unlimited 启动QGIS之前。你也可以在你的 .profile ,以便在您登录时始终启用它。

要从核心文件生成回溯,请启动 gdb /path/to/the/qgis/binary core . 二进制通常是 /usr/bin/qgis/usr/bin/qgis.bin 在Debian上安装了Grass插件。在 gdb 你跑 bt 这将产生回溯。

Windows上的日志输出

在osgeo4w_uu(包qgis-dev)中构建的夜间构建带有调试输出,您可以使用debugview_u查看。如果问题不容易重现,那么输出可能会对QGIS崩溃的位置有所了解。

在QGIS网站或文档上报告问题

QGIS项目提供了一个活跃的 web site 有钱人 documentation . 尽管我们努力,如果您发现一个过时的信息,一个错误或不清楚的声明,或错过了一个有价值的信息,请随时报告它。

这些文档的主要来源是在Github存储库中托管和管理的,因此为了报告错误或提交补丁,您需要一个Github帐户和登录名。

要开始,首先 Create a GitHub account .

然后,选择适当的存储库:

检查您要报告的问题是否尚未输入。

点击 新发行, 请为您的问题键入标题和明确的说明。

完成后,单击 提交新问题.

注解

A Fix me 在网站任何页面的底部都提供了链接,以帮助您直接改进此页面并提交请求。

此选项也可在文档的底部找到。

报告插件问题

qgis中的大多数插件都是在官方网站上发布的。 QGIS Plugins repository . 与它们相关的错误或功能请求 must 在各自的错误跟踪系统中打开:

  • 对于qgis存储库中可用的任何插件,您都可以在其元数据中找到指向其bug跟踪程序的链接。否则,请参考插件文档以查找相关错误跟踪系统或要联系的开发人员的地址。

    如果没有可用信息,请将其报告给 Developer mailing-list .

  • 对于其他插件,我们无法确保提供此类信息。

向QGIS项目提交补丁

除了问题报告,您还可以帮助解决问题。修复问题是通过pull请求在Github中完成的。你需要 fork the repository 您希望在以下位置提供请求并提交请求:

您可以找到一些指导原则,帮助您轻松获取补丁并将请求拉入qgis项目,网址为 submit_patch . 更广泛地说,你可能需要阅读 git_access .