Rust debugging survey 2026 results

Rust debugging survey 2026 results

2026 年 Rust 调试调查结果

Sept. 7, 2026 · Sam Kellam on behalf of the compiler team 2026 年 9 月 7 日 · Sam Kellam 代表编译器团队

One of the biggest challenges Rust developers report in our annual surveys is a subpar debugging experience. So, back in February, we ran our first Rust Debugging Survey, in the hopes of identifying how Rust developers are using debuggers and what problems they are facing when doing so. We received over 2,300 responses, and we’d like to thank everyone who took the time to participate in the survey! In this report, we’ll go over some of the results of the survey. If you’d like, you can also check out the complete results of the survey. If you’d like to skip ahead to any particular section, you can do so with this index: Who Uses Debuggers? How Are Debuggers Used? Challenges Debugger Visualizers Closing Remarks 在我们的年度调查中,Rust 开发者反馈的最大挑战之一是调试体验不佳。因此,早在今年 2 月,我们进行了首次“Rust 调试调查”,旨在了解 Rust 开发者如何使用调试器,以及他们在调试过程中面临哪些问题。我们收到了超过 2,300 份回复,感谢每一位抽出时间参与调查的人!在本报告中,我们将回顾调查的部分结果。如果您愿意,也可以查看完整的调查结果。如果您想直接跳转到特定章节,可以使用以下索引:谁在使用调试器?调试器是如何使用的?挑战、调试器可视化工具、结语。

Who Uses Debuggers?

谁在使用调试器?

The first step to making sense of the survey results is understanding who took the survey. We asked respondents to rate their Rust expertise, from “Never used it” to “Advanced”. Over 80% reported themselves as “Advanced” or “Intermediate”, split roughly evenly between the two: 理解调查结果的第一步是了解参与调查的人员构成。我们要求受访者评估他们的 Rust 专业水平,从“从未使用过”到“高级”。超过 80% 的受访者认为自己处于“高级”或“中级”水平,两者比例大致相当:

how-would-you-rate-your-rust-expertise [PNG] [SVG]

We also asked respondents if they currently use or have used debuggers in Rust. Over 46% said they currently do, with the remaining responses split between “have in the past” and “never have”. That means that over half of respondents do not currently use a debugger for Rust! 我们还询问了受访者目前是否使用或曾经使用过 Rust 调试器。超过 46% 的人表示目前正在使用,其余回复则分布在“过去使用过”和“从未使用过”之间。这意味着超过一半的受访者目前并没有在 Rust 开发中使用调试器!

do-you-use-debuggers-in-rust [PNG] [SVG]

Categorized by expertise, the responses reveal that roughly half of “beginners” have never used debuggers in Rust! On the other hand, nearly half of “advanced users” currently do use debuggers in Rust: 按专业水平分类,结果显示大约一半的“初学者”从未在 Rust 中使用过调试器!另一方面,近一半的“高级用户”目前确实在 Rust 中使用调试器:

do-you-use-debuggers-in-rust-per-expertise [PNG] [SVG]

For respondents who indicated they had previously used Rust but no longer did, we asked if challenges with debugging support were why they stopped. For nearly 3%, the answer was “yes”, with an additional 24% reporting debugging issues as being partially responsible (though mind the small response count; most respondents were active users of Rust): 对于那些表示曾经使用过 Rust 但现在不再使用的受访者,我们询问了调试支持方面的挑战是否是他们停止使用的原因。近 3% 的人回答“是”,另有 24% 的人表示调试问题是部分原因(但请注意样本量较小;大多数受访者仍是 Rust 的活跃用户):

were-issues-with-debugging-support-the-primary-reason-why-you-stopped-using-rust [PNG] [SVG]

How Are Debuggers Used?

调试器是如何使用的?

Knowing what debuggers developers are using and how is another important part of understanding the challenges they face. To this end, we asked respondents how they were debugging their programs. Unsurprisingly, most developers make use of print debugging and the dbg! macro. Excluding those, using lldb inside an IDE was the most popular choice, followed by gdb on the command line: 了解开发者正在使用哪些调试器以及如何使用,是理解他们所面临挑战的另一个重要部分。为此,我们询问了受访者如何调试程序。不出所料,大多数开发者使用打印调试(print debugging)和 dbg! 宏。排除这些方法后,在 IDE 中使用 lldb 是最受欢迎的选择,其次是命令行中的 gdb:

what-tools-and-workflows-do-you-use-to-debug-rust-programs [PNG] [SVG]

We can get a more detailed breakdown of these results if we include the operating system on which the respondents use a given debugging approach. We examine this from two different angles. The first angle being, “On operating system X, what percent of responses are using debugger Y?”. Print debugging and the dbg! macro are consistently the top two yet again, but looking beyond that, things get more interesting. On Linux, using gdb on the command line was the most popular choice by a thin margin, beating lldb in an IDE by only 0.4%. On Windows, Windows Subsystem for Linux (WSL), and macOS, lldb in an IDE was the top pick by at least 6%, making it a very popular choice in general. On Windows, the three least popular choices were the command line debuggers (gdb CLI, lldb CLI, and BugStalker), and on both Windows and macOS the third most popular pick was, “I don’t know”. Those who were debugging on operating systems not listed (Other) most frequently used some kind of special embedded debugger or gdb: 如果我们结合受访者使用特定调试方法的操作系统,可以获得更详细的结果分析。我们从两个不同的角度进行审视。第一个角度是:“在操作系统 X 上,使用调试器 Y 的比例是多少?”。打印调试和 dbg! 宏再次稳居前两位,但除此之外,情况变得更有趣。在 Linux 上,使用命令行 gdb 是最受欢迎的选择,仅以 0.4% 的微弱优势领先于 IDE 中的 lldb。在 Windows、Windows Linux 子系统 (WSL) 和 macOS 上,IDE 中的 lldb 是首选,领先幅度至少为 6%,这使其成为一种非常普遍的选择。在 Windows 上,最不受欢迎的三种选择是命令行调试器(gdb CLI、lldb CLI 和 BugStalker),而在 Windows 和 macOS 上,第三大热门选择是“我不知道”。那些在未列出的操作系统(其他)上进行调试的用户,最常使用某种特殊的嵌入式调试器或 gdb:

what-tools-and-workflows-do-you-use-to-debug-rust-programs-per-os-1 [PNG] [SVG]

The other angle we can look at these responses from is, “For users of debugger X, what percent of responses are using it on operating system Y?”. For most debuggers, Linux makes up the largest portion of uses, ranging from about 45% to about 77%, followed by Windows, then macOS. The most notable exceptions are WinDbg and the Visual Studio debugger, which are primarily used on Windows, and lldb, which is used more on macOS than Windows in an IDE and on the command line: 我们可以从另一个角度审视这些回复:“对于调试器 X 的用户,在操作系统 Y 上使用它的比例是多少?”。对于大多数调试器而言,Linux 占据了使用比例的最大部分,范围从约 45% 到 77% 不等,其次是 Windows,然后是 macOS。最显著的例外是 WinDbg 和 Visual Studio 调试器,它们主要在 Windows 上使用;以及 lldb,它在 macOS 上的使用率高于 Windows(无论是在 IDE 中还是在命令行中):

what-tools-and-workflows-do-you-use-to-debug-rust-programs-per-os-2 [PNG] [SVG]

To the 6 respondents who use WinDbg on Linux: we wish you luck! As for how people actually use their debugger of choice, the aggregate results are not particularly surprising. Roughly 87% of users are using debuggers for stepping line-by-line through programs and a little over half of users are using debuggers to obtain stack traces from hung/crashed processes. Only a quarter of the respondents use a debugger to debug async code. That might be partially caused by the async Rust debugging experience being clumsy and incomplete, or it could just be that users aren’t writing much async code: 对于那 6 位在 Linux 上使用 WinDbg 的受访者:祝你们好运!至于人们实际上如何使用他们选择的调试器,汇总结果并不令人意外。大约 87% 的用户使用调试器进行逐行代码跟踪,略多于一半的用户使用调试器从挂起/崩溃的进程中获取堆栈跟踪。只有四分之一的受访者使用调试器来调试异步代码。这可能是因为 Rust 的异步调试体验笨拙且不完整,也可能仅仅是因为用户编写的异步代码并不多:

what-are-you-using-debuggers-for [PNG] [SVG] [Wordcloud of open answers] what-are-you-using-debuggers-for [PNG] [SVG] [开放式回答词云]

If we break these results down by expertise, we can learn a bit more about usage patterns. As users become more experienced with Rust, their use of debuggers for learning purposes decreases, and they get more stack traces from crashed processes: 如果我们按专业水平细分这些结果,可以进一步了解使用模式。随着用户对 Rust 的经验越来越丰富,他们出于学习目的使用调试器的频率会降低,而更多地从崩溃进程中获取堆栈跟踪:

what-are-you-using-debuggers-for-per-expertise [PNG] [SVG]

The final bit of insight into how Rustaceans use debuggers is if they are debugging 关于 Rust 开发者如何使用调试器的最后一点见解是,他们是否正在调试……