如何使用VSCode运行二进制文件并查看其十六进制内容?
- 内容介绍
- 文章标签
- 相关推荐
本文共计833个文字,预计阅读时间需要4分钟。
在VSCode中,如果直接尝试运行二进制文件(如`firmware.bin`或`hello.exe`)会失败,因为它们不是执行环境。您真正需要的是查看其原始字节,而这需要使用`Hex Editor`。虽然安装完成后不会自动生效,但所有常见失败都源于跳过了显式触发生成步骤。
怎么装对 Hex Editor 扩展
认准作者是 Microsoft、ID 为 ms-vscode.hexeditor 的那个。别装 vscode-hexdump 或 hex-viewer:它们不支持编辑保存、不更新、甚至可能静默重编码损坏文件。安装路径很明确:Ctrl+Shift+X → 搜 Hex Editor → 点 Install → 点 Reload Window(不重启,命令面板里可能搜不到)。
为什么双击 .bin 文件还是报错“无法用文本编辑器打开”
因为 VSCode 默认仍走文本解码流程,扩展装完只是“就绪”,不是“接管”。你必须手动触发:
- 右键资源管理器里的
firmware.bin→Open With→Hex Editor - 或已打开文件时,按
Ctrl+Shift+P→ 输入Hex Editor: Reopen as Hex→ 回车 - 别信
files.associations配置能一劳永逸——对.exe、.dll这类文件,VSCode 内置安全策略会拦截,即使配了"*.bin": "hexeditor"也大概率 fallback 到拒绝提示
编辑字节后点 Ctrl+S 却没反应?检查这三处
Hex Editor 默认是只读模式,UI 上能点、能输、能删,但保存无效——这是防误操作的硬限制:
- 右下角状态栏找
Readonly标签,点击切换成Edit模式(此时显示Hex Editor (Edit)) - 确认文件没被系统锁定:比如
libc.so正被另一个进程加载,或 Windows 下杀毒软件实时扫描中 - 别误点右下角的
Save with Encoding——选 UTF-8 会把整个二进制当文本重编码,文件立即损坏;永远只用普通Ctrl+S
大文件(>50MB)打不开或卡死怎么办
Hex Editor 默认内存限制是 50MB,超限直接报 File is too large to open in the hex editor。调高需改设置并重启:
- 打开设置(
Ctrl+,)→ 搜hex editor memory limit→ 改成200(单位 MB) - 必须重启 VSCode 才生效;设太高(如 1000)在 16GB 内存机器上可能假死
- 超过 200MB 的固件镜像或磁盘映像,建议放弃 VSCode,改用
xxd -r+vim或 HxD —— Hex Editor 是轻量查看工具,不是专业十六进制编辑器
最常被忽略的一点:所有修改都在内存缓冲区,关掉标签页前没按 Ctrl+S,就彻底丢失;而且保存是直接覆写原文件,无确认弹窗、无 backup 副本。改之前先 cp firmware.bin firmware.bin.bak,比什么都重要。
本文共计833个文字,预计阅读时间需要4分钟。
在VSCode中,如果直接尝试运行二进制文件(如`firmware.bin`或`hello.exe`)会失败,因为它们不是执行环境。您真正需要的是查看其原始字节,而这需要使用`Hex Editor`。虽然安装完成后不会自动生效,但所有常见失败都源于跳过了显式触发生成步骤。
怎么装对 Hex Editor 扩展
认准作者是 Microsoft、ID 为 ms-vscode.hexeditor 的那个。别装 vscode-hexdump 或 hex-viewer:它们不支持编辑保存、不更新、甚至可能静默重编码损坏文件。安装路径很明确:Ctrl+Shift+X → 搜 Hex Editor → 点 Install → 点 Reload Window(不重启,命令面板里可能搜不到)。
为什么双击 .bin 文件还是报错“无法用文本编辑器打开”
因为 VSCode 默认仍走文本解码流程,扩展装完只是“就绪”,不是“接管”。你必须手动触发:
- 右键资源管理器里的
firmware.bin→Open With→Hex Editor - 或已打开文件时,按
Ctrl+Shift+P→ 输入Hex Editor: Reopen as Hex→ 回车 - 别信
files.associations配置能一劳永逸——对.exe、.dll这类文件,VSCode 内置安全策略会拦截,即使配了"*.bin": "hexeditor"也大概率 fallback 到拒绝提示
编辑字节后点 Ctrl+S 却没反应?检查这三处
Hex Editor 默认是只读模式,UI 上能点、能输、能删,但保存无效——这是防误操作的硬限制:
- 右下角状态栏找
Readonly标签,点击切换成Edit模式(此时显示Hex Editor (Edit)) - 确认文件没被系统锁定:比如
libc.so正被另一个进程加载,或 Windows 下杀毒软件实时扫描中 - 别误点右下角的
Save with Encoding——选 UTF-8 会把整个二进制当文本重编码,文件立即损坏;永远只用普通Ctrl+S
大文件(>50MB)打不开或卡死怎么办
Hex Editor 默认内存限制是 50MB,超限直接报 File is too large to open in the hex editor。调高需改设置并重启:
- 打开设置(
Ctrl+,)→ 搜hex editor memory limit→ 改成200(单位 MB) - 必须重启 VSCode 才生效;设太高(如 1000)在 16GB 内存机器上可能假死
- 超过 200MB 的固件镜像或磁盘映像,建议放弃 VSCode,改用
xxd -r+vim或 HxD —— Hex Editor 是轻量查看工具,不是专业十六进制编辑器
最常被忽略的一点:所有修改都在内存缓冲区,关掉标签页前没按 Ctrl+S,就彻底丢失;而且保存是直接覆写原文件,无确认弹窗、无 backup 副本。改之前先 cp firmware.bin firmware.bin.bak,比什么都重要。

