使用dart::ffi调试Dart软件包中的C++代码

4

我正在使用C++开发一个用于Flutter应用(因此也用于Dart)的包,使用dart::ffi。我想知道是否有更好的方法来调试C++代码,例如逐步执行和变量监视等功能,而不是仅仅记录消息。我已经尝试过在Android Studio和VS Code中进行调试,但没有成功。


Visual Studio 2019 - Michael Chourdakis
你会怎么建议我做呢?据我所知,我无法在Visual Studio 2019中运行Flutter应用程序。 - Facundo Farall
为什么你不能运行它? - Michael Chourdakis
根据这里的说明,你可以使用Android Studio、IntelliJ、VS Code和Emacs等IDE来进行调试。你尝试过在Visual Studio中运行Flutter应用程序吗? - Facundo Farall
2个回答

9

在Flutter模式下,Android Studio(或VS Code)不支持本地(C / C ++)代码调试。然而,有一个变通方法!在项目树中,右键单击“android”文件夹,选择Flutter ->在Android Studio中打开Android模块。该项目将切换到Android开发模式,在此模式下完全支持c / c ++调试。现在只需搜索“cpp”文件夹,在其中任何文件中设置断点,然后运行应用程序(当然仍处于Android开发模式中)!


0

我使用launch.json中的以下配置,在VS Code中成功调试了一些Linux桌面应用程序的C代码:

    {
        "name": "Debug Native",
        "type": "cppdbg",
        "request": "launch",
        "program": "${workspaceFolder}/build/linux/x64/debug/bundle/app",
        "args": [],
        "stopAtEntry": false,
        "cwd": "${workspaceFolder}/build/linux/x64/debug/bundle",
        "environment": [],
        "externalConsole": false,
        "MIMode": "gdb",
        "setupCommands": [
            {
                "description": "Enable pretty-printing for gdb",
                "text": "-enable-pretty-printing",
                "ignoreFailures": true
            }
        ]
    }

根据你的应用程序名称修改程序中的app,然后在调试选项卡中,你就可以启动此配置:

launch Debug

这个配置只是启动已构建的可执行文件。如果你想在每次启动之前都进行构建,你需要添加一个preLaunchTask


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接