Bug、功能和议题

QGIS主要是由志愿者驱动的项目,由开发者、文档编制人员、翻译人员和支持者组成的特别团队负责。尽管团队想努力发布没有Bug的QGIS,但仍可能存在一些Bug。如果您发现Bug或希望添加新功能,请随时报告!

在哪里报告?

QGIS项目的每个部分都有专门的网站,可以报告、管理和讨论议题 (功能请求或汇报Bug)。根据您遇到的不同问题,可以在下面找到报告问题的正确资源库:

发现Bug或请求功能的网站

报告问题的网址

应用程序 (QGIS Desktop, QGIS Server)

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

QGIS网站 (https://qgis.org)

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

QGIS文档 (https://docs.qgis.org)

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

C++ API (https://qgis.org/api)

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

PyQGIS API (https://qgis.org/pyqgis)

https://github.com/qgis/QGIS/issues (目录) 和 https://github.com/qgis/pyqgis/issues (格式化)

外部插件

插件描述中设置的作者资源库网址

如需帮助和解惑,请联系 邮件列表

在QGIS应用程序中报告议题

QGIS应用程序 (QGIS Desktop 和 QGIS Server) 议题在 Github 中可获得。为了提交或评论报告,您需要注册并登录。

报告议题之前

Before filing an issue, verify that you are running the currently supported versions 3.34.5 or 3.36.1 or the development version 3.37 (see also 版本发布计划表) and review the currently open issues to make sure that you aren't creating a duplicate. If you have additional information on an issue, you can add it to the existing ticket. Third party plugins might also cause problems. If you have installed any, you should also verify that the problem is still reproducible without them. Please don't report multiple unrelated bugs in a single bug report.

When you're are logged in, a New Issue button is available. Select it and follow the instructions there.

Before sending the report, please check the formatting of your report by clicking on "Preview". Please avoid editing existing reports, if not for typos. Better add further comments in any other case.

Creating a backtrace

If you have a crash it might be useful to include a backtrace as the bug might be not reproducible on another machine.

On Linux QGIS automatically tries to use gdb to connect to the crashing process to produce a backtrace. But some distributions disable the possiblity to connect debuggers to a running processes. In that case gdb only produces a rather useless message like:

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)

In that case you should reenable that option by setting kernel.yama.ptrace_scope to 0 in /etc/sysctl.d/10-ptrace.conf (or /etc/sysctl.conf or some other file in /etc/sysctl.d/) and run sysctl -p as root. When you reproduce the crash after that, a backtrace will be printed instead.

If you cannot reproduce the crash, there should still be a core dump in the current directory, that can be analysed after the process has already terminated. It's called core (on some systems a dot and the process id is append to the filename).

On some distributions the creation of core dumps is also disabled. In the event that you just get Aborted instead of Aborted (core dumped) when the crash occurs. Then you need to run ulimit -c unlimited before starting QGIS. You can also include that in your .profile, so that it's always enabled when you login.

To produce a backtrace from the core file, start gdb /path/to/the/qgis/binary core. The binary is usually /usr/bin/qgis or /usr/bin/qgis.bin on Debian with the GRASS plugin installed. In gdb you run bt which will produce the backtrace.

Log output on Windows

The nightly build in OSGeo4W (package qgis-dev) is built with debugging output, that you can view with DebugView. If the problem is not easy to reproduce the output might shed some light about where QGIS crashes.

Reporting issues on QGIS web site or documentation

QGIS project provides an active web site and a rich documentation. Despite our efforts, if you find an out of date information, a wrong or unclear statement or miss a valuable information, please feel free to report it.

The main sources of these documents are hosted and managed in GitHub repositories so in order to report bugs or submit patches, you need a GitHub account and login.

To get started, first Create a GitHub account.

Then, choose the appropriate repository:

Check if the issue you'd like to report is not already entered.

Click New Issue, type a title and a clear description for your issue.

When you're finished, click Submit new issue.

Note

A Fix me link is provided at the bottom of any page of the web site to help you directly improve this page and submit pull request.

This option is also available in the footer of the documentation.

Reporting plugin issues

Most of the plugins in QGIS are published in the official QGIS Plugins repository. Bugs or feature requests relative to them must be opened in their respective bug tracking system:

  • For any plugin available in QGIS repository, you'll find in its metadata a link to its bug tracker. Otherwise, consult the plugin documentation to find the address of the relevant bug tracking system or a developer to contact.

    If no information is available, please report it to the Developer mailing-list.

  • For other plugins, we have no means to ensure such information are provided.

Submitting a Patch to QGIS projects

In addition to issue report, you can help to fix issues. Fixing issues is done in GitHub through pull requests. You need to fork the repository you want to contribute to and submit pull requests at:

You can find a few guidelines that will help you to easily get your patches and pull requests into QGIS projects at Submitting Pull Requests. And more widely, You may need to read the Development Process chapter.