VS Code 强大的开源 Debug 工具,实时可视化,一键解析代码结构

用STM32CubeMX+VS Code搭建开发环境:告别Keil的另一种选择 本文提供了一套基于STM32CubeMX和VS Code的STM32开源开发环境搭建教程。详细介绍了如何利用GNU Arm工具链、CMake和OpenOCD,替代Keil等传统IDE,实现从项目配置、代码编写、构建到可视化调试的完整、高效且跨平台的工作流,适合追求灵活与掌控感的开发者。 阅读详情

点击上方“编程派”,选择设为“设为星标”

优质文章,第一时间送达!

DeBug 太枯燥?让 VS Code 画个图,自动帮你理清数据结构与代码思路,这就是 Reddit 2K 多点赞的开源新工具。

项目地址:https://github.com/hediet/vscode-debug-visualizer

写代码,难免会遇到各种神奇的问题,代码短我们在脑海中「运行」一遍也就差不多能找出原因。但代码要是比较长,错误就会隐藏比较深了,这个时候,不论你是采用 print() 大法,还是善用 assert 语句,或者干脆设置断点,DeBug 总是一条慢慢排除的道路。

之前曾介绍过极简 DeBug 工具 PySnooper ,我们只需要向感兴趣的函数增加一个装饰器,就能得到该函数的详细 log,包含哪行代码能运行、什么时候运行以及本地变量变化的确切时间等等。这个 GitHub 12.3K Star 量的 DeBug 工具,输出风格是这样色的:

左边是运行信息,右边是对应 NumPy 代码。

这种复杂的 DeBug 工具,看起来就比较劝退。此外,在 PyCharm 上使用断点调试,它输出的也是各种变量的定义与值,同样是一堆详细信息。

那么能不能有一种更优雅的 DeBug 方式,以更简洁的信息快速帮我们找到代码的问题所在?这就是 VS Code 最新推出的可视化 DeBug,它能以图的方式快速展示数据结构。

我们先看看效果,如下动图将断点设置为第 32 行定义双向链表,随后一行行运行代码就会在右图展现出对应的数据结构图。

这种可视化非常优雅,而且该工具也会根据数据结构以不同的方式展现,例如树形、表格、曲线和图等。如下动图展示几种不同的可视化方式:

效果上确实非常惊艳,它与之前的 DeBug 方式采用完全不同的展现形式。目前该 VS Code Debug Visualizer 在 JavaScript/TypeScript 上有比较好的效果,在 C#、Java 和 PHP 上也正在积极测试,其它语言也还都能用。

正确的使用姿势

安装此扩展程序后,使用命令< Open a new Debug Visualizer View >打开新的可视化视图。在此视图里,设置断点逐步执行后,表达式的执行与动态可视化都会展示在里面。右上角的刷新键可将当前的可视化工具视图弹出到新的浏览器窗口,同时还可以通过展开详细信息的窗口去选择数据提取器以及可视化调试器。

可视化调试器使用的是特定的 JSON 数据,相关支持的 JSON 数据模式可参考原 GitHub 项目。

当前的可视化表达式应该是作为 JSON 对象字符串来进行运算的,并与所支持的可视化调节器相匹配。而这个 JSON 字符串可能被单引号或者双引号所包含(也有可能没有引号),因此不能忽略转义符。

举一个案例:

"{ "kind": { "text": true }, "text": "some text\nmore text" }".

对于 TypeScript/JavaScript 等语言,因为已经集成了数据抽取器,因此可以直接自动可视化。而其它没有数据抽取器的语言,就需要自定义数据结构与可视化器之间的关系了

多种可视化器皆可定制

该扩展还内置了其他可自定义的可视化调节器,尤其在 debug 时使用起来非常直观,可以根据面对不同的处理对象,可选择更易于理解的可视化方式。比如图表可视化,Plotly 可视化,Tree 可视化,网格可视化,文本可视化等等。在其种类非常丰富的同时,操作性也较为简便,效果非常直观,小编选取了几种类型作为案例:

Plotly 可视化

AST 可视化

在使用 AST 可视化还会呈现源代码,在选择其节点时,还会突出显示源代码中的跨度。

Python 怎么解?

我们读者最常用的就是 Python 语言,然而遗憾的是,Debug Visualizer 并不支持 Python 数据结构的自动可视化。不过,Python 开发者还是非常热情的,他们尝试手动添加自定义可视化功能。

项目维护者正在讨论添加对 Python 的支持。

那么如果要手动调用 Debug Visualizer,开发者在 Demo 中新提交了一个 Python 示例。我们需要以 JSON 格式来表示数据,并完成自定义可视化,注意该 JSON 需要满足 Debug Visualizer 的格式定义。

如果在循环语句中设置断点,那么就可以导入 json_graph 来可视化结果,如下所示为 10 个节点的可视化展示。

在 Reddit 社区上,也有很多开发者在讨论 Python 是不是能用,有没有更便捷的方式自动可视化 DeBug,而不是在 DeBug 前还需要手动先配置一番。

VS Code Debug Visualizer 确实非常酷,但支持 Python 的它会更有意思。现在不论是项目维护者还是其它开发者,都在关注这个问题,期待过一段时间它能完美支持 Python。

参考链接:https://www.reddit.com/r/programming/comments/f88zom/i_made_an_extension_for_visual_debugging_in_vs/

来源:机器之心

????分享、点赞、在看,给个三连击呗!????

VS Code+Cortex-Debug+arm-none-eabi-gdb:打造零配置嵌入式开发环境 本文详细介绍如何使用VS Code、Cortex-Debug和arm-none-eabi-gdb打造零配置嵌入式开发环境。通过GNU ARM Embedded Toolchain工具链和OpenOCD调试服务器,实现STM32等ARM芯片的高效开发与图形化调试,大幅提升嵌入式开发的工作效率。 阅读详情

相关推荐

代码调试跟踪与优化(二)--- 如何调试嵌入式代码?

我们在进行嵌入式系统开发调试时,受限于嵌入式芯片资源和性能,一般采用远程调试。在调试嵌入式底层代码时,gdbserver 无法运行,我们该怎么调试底层代码呢?J-LINK、ST-LINK、CMSIS-DAP 等硬件调试器在嵌入式开发调试过程中扮演了怎样的角色呢?目标芯片内部是如何处理Debug and Trace 信号的?我们如何借助VS Code Cortex-Debug 或IDE 实现可视化调试的?如何借助SEGGER Ozone 和SystemView 实现可视化实时监测跟踪系统运行详情的?

流云 6229

Debug Assertion Failed!解决方法详解

1.野指针;2.内存泄露   解决方法:   1.看一看你的程序里是不是有ASSERT()或VERIFY()语句。这两个宏是用来测试它的参数是否为真的。出现你说的,这说明你的指针或表达试有问题   2.File: timecore.cpp  Line:40  打开看看就知道了   3.vc++中遇到过此问题,在release下回忽略此问题,其实就是野指针的问题,在release

7万+

VC常见错误之:Debug Assertion Failed!

"错误通常是由于程序中触发了断言错误导致的。要解决这个错误,我们需要找到触发断言错误的原因,并采取相应的措施修复代码。在本文示例中,我们通过添加对除数是否为0的判断来避免了断言错误的发生。这个错误通常会在程序运行过程中弹出一个对话框,提示你发生了一个断言错误。这种错误的出现一般是由于程序在运行时发现了一些不符合预期的情况,进而触发了一个断言(Assertion)。断言用于检查程序运行过程中的一些假设条件是否满足,如果不满足,就会触发断言错误。这个错误提示告诉我们,在代码的某个位置,对字符串进行了越界访问。

PixelNovaO的博客 7499

Debug Assertion Failed! 错误解决 (关于文件文件写入程序)

Debug Assertion Failed! 错误解决 (关于文件文件写入程序) 环境:win10 专业版 VS2017  使用fopen()、fwrite()、fread()、fclose()函数 特征:编译时刻 0错误,0警告,运行时刻弹出警告消息框; 运行时候出现以错误: 原因:1.函数过于旧,不安全。         2.代码逻辑有问题 或者 函数参

8万+

出现报错Debug Assertion Failed,如何解决?

如果以上方法未能解决问题,可以尝试联系Masm集成环境的官方支持,或者查找相关论坛和社区,寻找特定的解决方案。希望如上措施及解决方案能够帮到有需要的你。PS:如若遇到采纳如下方案还是未解决的同学,希望不要抱怨&&急躁,毕竟影响因素众多,我写出来也是希望能够尽最大努力帮助到同类似问题的小伙伴,即把你未解决或者产生新Bug黏贴在评论区,我们大家一起来努力,一起帮你看看,可以不咯。

**My Coding Family** 3414

llama factory本地运行启动运行报错libuv,如何解决?

🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀!    📌 特别说明: 文中部分技术问题来源于真实生产环境及网络公开案例,均经过精挑细选与系统化整理,并结合多位一线资深架构师和工程师多年实战经验沉淀,提

**My Coding Family** 3743

VS Code 强大的开源工具!实时可视化Debug,一键解析代码结构

机器之心报道 参与:思、jaminDeBug 太枯燥?让 VS Code 画个图,自动帮你理清数据结构与代码思路,这就是 Reddit 2K 多点赞的开源新工具。项目地址:https:/...

程序IT圈 1003

别再手动敲代码了!用STM32CubeMX+FreeRTOS图形化配置,5分钟搞定多任务通信框架

本文详细介绍了如何利用STM32CubeMX和FreeRTOS快速搭建多任务通信框架,大幅提升嵌入式开发效率。通过图形化配置工具,开发者可在5分钟内完成任务调度、时钟配置和内核对象生成,特别适合物联网设备开发。文章还提供了代码优化和调试技巧,帮助开发者轻松应对复杂应用场景。

weixin_30363285的博客 292

java代码结构可视化_VS Code 强大的开源工具!实时可视化Debug,一键解析代码结构...

机器之心报道参与:思、jaminDeBug 太枯燥?让 VS Code 画个图,自动帮你理清数据结构与代码思路,这就是 Reddit 2K 多点赞的开源新工具。 项目地址:https://github.com/hediet/vscode-debug-visualizer写代码,难免会遇到各种神奇的问题,代码短我们在脑海中「运行」一遍也就差不多能找出原因。但代码要是比较长,错误就会隐藏比较深了,这...

weixin_39699670的博客 1369

python制作图形化小游戏_创意编程|Python的GUI简易界面设计测测你的反应力

Python的GUI简易界面设计案例测测你的反应力作为初次接触代码编程的你,是不是觉得Python程序除了“码”就是“字”即使是有趣的程序除了烧烧自己的脑,也吸引不到更多人的兴趣,用户体验值接近于0?那你可冤枉了Python,他可是人工智能界的编程语言大咖。今天这个游戏设计就先带领大家,简单体验一下,如何让Python程序图形化。一起来吧!设计我们的小游戏游戏设计思路:电脑随机出...

weixin_34214135的博客 1872

保姆级教程:用ESP32和SPH0645麦克风做个无线录音笔(附Python服务端实时播放)

本文提供了一份详细的ESP32无线录音笔开发指南,涵盖从硬件搭建到Python服务端实时回放的全过程。通过SPH0645麦克风采集高质量音频数据,利用ESP32的I2S接口和WiFi功能实现无线传输,并结合Python服务端实现实时播放和WAV文件保存,适合远程音频监控和创意交互装置开发。

weixin_30700099的博客 645

c# vscode 配置_VS Code 强大的开源工具!实时可视化Debug,一键解析代码结构

机器之心报道参与:思、jaminDeBug 太枯燥?让 VS Code 画个图,自动帮你理清数据结构与代码思路,这就是 Reddit 2K 多点赞的开源新工具。项目地址:https://github.com/hediet/vscode-debug-visualizer写代码,难免会遇到各种神奇的问题,代码短我们在脑海中「运行」一遍也就差不多能找出原因。但代码要是比较长,错误就会隐藏比较深...

weixin_33978578的博客 555

大模型运维实战:从GPU选型到推理服务稳定落地

大模型服务进入生产环境后,运维对象从传统进程转向GPU显存、KV Cache、推理吞吐等动态资源。显存利用率、首token延迟、并发队列深度等指标,直接影响模型服务的质量与成本。理解推理框架的内存分配机制、掌握监控告警与自动化扩容手段,是保障服务稳定的关键。这类能力广泛应用于企业私有化部署、智能客服、知识库问答等场景,帮助运维团队从被动救火转向主动容量规划与性能调优。本文围绕大模型运维的完整路线,梳理从硬件选型、推理部署到监控排障的实战经验,并算清一份真实项目的长期成本账。

weixin_29054245的博客 241

C# json解析字符串总是多出双引号_VS Code 强大的开源工具!实时可视化Debug,一键解析代码结构...

机器之心报道参与:思、jaminDeBug 太枯燥?让 VS Code 画个图,自动帮你理清数据结构与代码思路,这就是 Reddit 2K 多点赞的开源新工具。项目地址:https://github.com/hediet/vscode-debug-visualizer写代码,难免会遇到各种神奇的问题,代码短我们在脑海中「运行」一遍也就差不多能找出原因。但代码要是比较长,错误就会隐藏比较深...

weixin_39603573的博客 102

PCL 4PCS算法实现点云粗配准【2026最新版】

博客长期更新,本文最新更新时间为:2026年5月11日。

点云侠的博客 30万+

YOLOv10精度上不去?QAT量化感知训练全流程,INT8推理mAP只掉0.8%

普通PTQ量化虽简单,但无法应对YOLOv10的小目标特征和激活分布波动,导致精度暴跌。QAT通过“模拟量化误差+联合优化权重与量化参数”,让INT8模型精度接近FP16,同时速度提升1.8倍,完美适配实时检测场景(如安防监控、自动驾驶)。该流程已在工业级项目中验证,针对YOLOv10的优化策略(敏感层保护、小目标加权、分阶段训练)可直接迁移至其他YOLO系列(v8/v9),量化后精度损失均可控制在1%以内。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 916

终极指南:如何用 VS Code Debug Visualizer 让数据结构可视化?超实用调试技巧大公开!

想要在调试时直观地看到复杂的数据结构变化吗?VS Code Debug Visualizer 正是你需要的终极调试神器!🚀 这款强大的 VS Code 扩展能够将枯燥的调试数据转化为生动的可视化图表,让你在调试过程中一目了然地观察数据的变化过程。 ## 什么是 VS Code Debug Visualizer? VS Code Debug Visualizer 是一个革命性的调试可视化工具,

gitblog_00540的博客 1000

【图像超分】论文复现:新手入门!Pytorch实现SRCNN,数据预处理、模型训练、测试、评估全流程详解,注释详细,简单修改就可以训练你自己的图像数据,有训练好的模型下载地址,随取随用

【图像超分】论文精读:Image Super-Resolution Using Deep Convolutional Networks(SRCNN)请配合上述论文精读文章使用,效果更佳!图像超分辨率SRCNN和FSRCNN复现代码,除基本的网络实现外,还有特征图可视化,PSNR曲线图可视化,测试自己的图像数据等不想理解原理,希望直接跑通然后应用到自己的图像数据的同学,请直接下载上面的代码,有训练好的模型,直接用即可。具体使用方式见代码中的README!有问题来本文评论区留言!准备数据集,以及数据预处理。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 2万+

推荐:VS Code Debug Visualizer - 让调试如虎添翼!

在编程的世界里,调试是开发过程中的重要环节。VS Code Debug Visualizer是一款强大的Visual Studio Code扩展插件,它旨在通过直观的图形化方式帮助开发者更好地理解复杂的变量和数据结构,让调试工作变得更为直观和高效。看着那动态演示的双向链表反转操作(见下方GIF图),是不是已经跃跃欲试了呢? ![Doubly Linked List Reverse Demo](....

gitblog_00451的博客 1081

射频微波电路设计【1.4】

AppCAD是一组射频设计工具和计算机应用说明,它使射频工程师能以更快和更容易的方式设计他们的产品。该软件的理 念是为工程师提供一个“个人设计助理”,即功能强大、快速和容易使用的辅助设计工具。该软件包括如下基本功能: ·各种传输线电气参数的分析与计算;·各种匹配电路的分析与计算;·各种有源和无源简单电路的分析与计算;·射频系统指标的计算:增益、噪声系数、三阶交调、信噪比、灵敏度等;·器件可靠性分析。

qq_43416206的博客 2326

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

VS Code调试可视化终极指南:高效调试数据结构的完整教程

调试是软件开发过程中不可或缺的环节,而**VS Code调试可视化工具**正是提升调试效率的强大助手。这款开源扩展能将复杂数据结构以直观图形方式呈现,帮助开发者快速理解程序运行状态,尤其适合处理链表、树、图表等抽象数据类型。本文将从安装配置到高级应用,全面讲解如何利用这款工具提升调试体验。 ## 为什么选择VS Code调试可视化工具? 传统调试器往往只能以文本形式展示变量,面对复杂数据结构时

gitblog_01061的博客 904

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

使用VSCode调试可视化的强大工具:VSCode Debug Visualizer

使用VSCode调试可视化的强大工具:VSCode Debug Visualizer 项目地址:https://gitcode.com/gh_mirrors/vs/vscode-debug-visualizer 在这个数字化时代,软件开发人员需要高效且直观的工具来提升他们的工作效率和代码质量。 是一个出色的Visual Studio Code扩展,它将你的调试过程转化为一种可视化体验,帮助开发者更...

gitblog_00012的博客 3424

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

vs code实用操作

在 Visual Studio Code (VSCode) 中,复制当前行并将其粘贴到下一行的快捷键是 Shift + Alt + Down Arrow(向下箭头)。选择“查看”下的“命令面板”,输入“View: Reset View Locations”,所有的视图会恢复到默认的位置。不小心操作失误把远程资源管理器在页面中隐藏了,你可以通过命令面板重置VSCode的视图位置来恢复资源管理器。如果你不小心把这个按钮弄丢了,恰好你又是个强迫症,那么你可以这么做。

m0_68654129的博客 6710

VS Code强大插件来袭!!!

VS Code强大插件来袭!!! VS Code是由微软开源的一款免费但十分强大的轻量级万能编辑器,各大程序语言只要下载相应的插件即可享受敲代码带来的快感。VS Code不仅提供了许许多多强大的代码辅助工具,还别出心裁的照顾到了程序员的心理需求,也因此成为了大多数程序员心中唯一的不可比拟的万能编辑器。接下来亿点点代码将为您提供一些编程利器,来提高您的编程体验!!! 提高撸代码体验 One Dark Pro 最爱的深黑色主题,十分人性化 VSC Netease Music 网易云音乐插件,撸代

weixin_45877045的博客 792
上一篇: 高大上的数学科普视频,敲敲代码就能出来!
下一篇: 说多了都是泪,一个项目上线的真实过程…
codingpy
博客等级 码龄11年 1873粉丝 104原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值