【问题标题】:VSCode GDB debugging Internal error while converting character setsVSCode GDB调试转换字符集时出现内部错误
【发布时间】:2022-11-22 22:53:16
【问题描述】:

在正常调试时(在我没有遇到这种问题之前)GDB 返回消息:

转换字符集时出现内部错误:无错误。

仅用于查看字符串或字符类型的变量。

我试图禁用 Windows beta UTF-8 引擎,从这里尝试了其他命令 StackOverflow

不幸的是没有任何效果。

为 GDB 日志记录添加附加命令我收到相同的消息。

1: (394137) ->1059^error,msg="转换字符集时出现内部错误:无错误。"

编辑

根据@rainbow.gekota 的要求,我添加了更多信息。

当前操作系统:Windows 10 21H2(编译:19044:2006)

VSCode 版本: 1.72.0 x64 -> 64bbfbf67ada9953918d72e1df2f4d8e537d340e

GDB 版本: 12.1 用于 MinGW-W64 x86_64,由 Brecht Sanders 构建

GDB 从 MSYS2 存储库安装。

这是我的 launch.json,我试图用它来修复这个错误 set charset UTF-8

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Start debugging",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\main.exe",
            "args": ["arg1", "arg2", "arg3"],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "miDebuggerPath": "C:\\msys64\\mingw64\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "Fix pretty-printing for gdb",
                    "text": "set charset UTF-8"
                }
            ],
            "preLaunchTask": "Build program",
            "logging": { "engineLogging": true }
        }
    ]
}

我不知道如何重现此错误。直到有一天它工作正常。

【问题讨论】:

  • 您需要提供更多详细信息。您使用的是哪个操作系统版本?您使用的是什么版本的 GDB,它是从哪里安装的? Provide an MRE
  • 显然它必须从一个字符集转换为另一个字符集,错误是明确的,因此,我可以得出结论,这个问题可能是由 2 个 senarios 中的 1 个引起的。您使用的一个字符集可以由 GDB 转换,但是您使用的是 GDB 无法转换的字符集中的一个字符。#2是:您使用的字符集根本无法被 GDB 转换。无论哪种方式,更改文档所在的字符集应该可以解决问题,只要它是 GDB 原生的字符集,我猜它是 Latin-1。
  • 您是否尝试过将 VSCode 设置为"Western Europe 1"我相信"Western Europe 1"(又名"ISO-88591") 与 Latin-1 相同的 ISO 标准。您可以通过单击状态栏或设置菜单中的字符编码显示在 VS Code 中切换到它。
  • 顺便说一句,这是一个很好的问题,我无法使用 DDG、Google 或 Bing 找到任何相关信息。
  • @J-D3V 不幸的是它不起作用:(我很想重新安装,但是因为这个错误是如此奇异以至于我也在等待并试图解决它。

标签: c++ visual-studio-code gdb


【解决方案1】:

不幸的是,我找不到我的问题的任何合乎逻辑的答案。唯一有帮助的是删除安装了 gdb 和 gcc 的 MSYS2,然后再次安装。

不幸的是,现在我无法重现这个问题,所以也许将来我会出现同样的错误。等着瞧。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-09-22
    • 2020-10-28
    • 2012-04-18
    • 2016-10-27
    • 2016-06-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多