精华内容
下载资源
问答
  • Dev C++如何设置断点调试程序源代码调试过程加入断点打开调试板点击调试按钮调试程序退出调试小结 源代码 #include <stdio.h> int main() { /* 我的第一个 C 程序 */ printf("Hello, World! \n"); /*设置...

    源代码

    #include <stdio.h>
     
    int main()
    {
        /* 我的第一个 C 程序 */
        printf("Hello, World! \n");
        /*设置断点*/
    	printf("1\n");
    	printf("2\n");
    	printf("3\n"); 
        return 0;
    }
    

    调试过程

    在这里插入图片描述
    程序可以成功运行

    开启调试信息输出选项

    在这里插入图片描述

    加入断点

    点击某一行
    在这里插入图片描述

    打开调试板

    在这里插入图片描述
    在这里插入图片描述

    添加变量后,点击调试按钮调试程序

    在这里插入图片描述
    在这里插入图片描述

    退出调试

    当找出错误后按F6或停止执行退出调试

    小结

    单步调试可以清楚的看到代码内部变量存储情况或者运行到哪个位置发生错误 如果程序没有按照预期执行则发现错误

    展开全文
  • vs如何设置断点调试程序

    万次阅读 2017-05-11 00:22:08
  • VScode debug ROS cpp程序设置 断点调试

    千次阅读 2019-10-21 16:01:06
    在vscode下面配置用于ROS项目开发的环境,通过vscode的debug可以断电调试程序,配置过程虽然有点繁琐但并不是特别复杂,需要更改地方并不是很多, 插件的安装:  通过vscode 左侧的EXTENSIONS 安装ros插件 ...

    感觉实用记得帮忙点个赞哈!!!!

    说明
    在vscode下面配置用于ROS项目开发的环境,通过vscode的debug可以断点调试程序,配置过程虽然有点繁琐但并不是特别复杂,需要更改地方并不是很多。

    配置步骤简述:

    1.在命令行执行命令:  catkin_make -DCMAKE_EXPORT_COMPILE_COMMANDS=Yes
    2.在c_cpp_properties.json文件添加一行: "compileCommands": "${workspaceFolder}/build/compile_commands.json"
    3.生成task.json文件 通过Ctrl+shift+P按键
    4.在launch.json中更改可执行文件路径,即更改“program”项(需二进制可执行文件)
    5.在launch.json中添加一行: "preLaunchTask": "catkin_make", / 这个重要,需要与task中的label相同
    6.在CMakeLists.txt文件中添加一行: SET(CMAKE_BUILD_TYPE Debug)
    

    下面开始详细介绍
    插件的安装
      通过vscode 左侧的EXTENSIONS 安装ros插件 c++插件
    生成c_cpp_properties.json文件,添加路径
      当在cpp代码中的 #include <…> 这句话有下划线警示时,意思是提示你找不到文件路径,这时将鼠标光标放在该下划线处,点击“黄色灯泡”,点击edit c_cpp_properties.json选项,vscode会自动在配置文件夹中新建.vscode/文件夹,同时在里面初始化了c_cpp_properties.json文件,可以在该文件的includePath:选项中添加路径。c_cpp_properties.json文件在下面有详细展示。
      
    一、设置编译命令
    由于我们使用了#include<ros/ros.h>,使用debug时找不到该文件路径,
    用命令行编译我们写的c++代码,同时输出编译信息文件,这里以ROS为例

    catkin_make -DCMAKE_EXPORT_COMPILE_COMMANDS=Yes
    

    这个命令会输出一个compile_commands.json文件在ROS工作空间的build文件夹下面
    然后在c_cpp_properties.json文件添加下面一段话

    "compileCommands": "${workspaceFolder}/build/compile_commands.json"
    

    修改后完整的c_cpp_properties.json文件如下所示:

    {
        "configurations": [
            {
                "browse": {
                    "databaseFilename": "",
                    "limitSymbolsToIncludedHeaders": true
                },
                "includePath": [
                    "/home/jack/test_ws/devel/include/**",
                    "/opt/ros/kinetic/include/**",
                    "/usr/include/**",
                    "/opt/ros/kinetic/include"
                ],
                "name": "ROS",
                "intelliSenseMode": "gcc-x64",
                "compilerPath": "/usr/bin/gcc",
                "cStandard": "c11",
                "cppStandard": "c++17",
                "compileCommands": "${workspaceFolder}/build/compile_commands.json"
            }
        ],
        "version": 4
    }
    

    这样,就基本可以找到全部头文件了。

    二、配置task.json
    按Ctrl+shift+P进入命令模式,键入tasks: Configure Task,选择 cmake:build 选项生成task.json文件。该文件是为了每次电机debug按钮是先预编译一些程序,建议复制下面的代码替换掉自动生成的task.json文件

    {
        "version": "2.0.0",
        "tasks": [
            {
                "label": "catkin_make", //代表提示的描述性信息
                "type": "shell",  //可以选择shell或者process,如果是shell代码是在shell里面运行一个命令,如果是process代表作为一个进程来运行
                "command": "catkin_make",//这个是我们需要运行的命令
                "args": [],//如果需要在命令后面加一些后缀,可以写在这里,比如-DCATKIN_WHITELIST_PACKAGES=“pac1;pac2”
                "group": {"kind":"build","isDefault":true},
                "presentation": {
                    "reveal": "always"//可选always或者silence,代表是否输出信息
                },
                "problemMatcher": "$msCompile"
            }
        ]
    }
    

    其中,这行设置  “group”: {“kind”:“build”,“isDefault”:true},代表将我们定义的这个task添加到build组里面,这样就可以中Ctrl+Shift+B快捷键来找到编译命令,命令名称就是在label里面定义的,如果"isDefault":true那么就代表直接执行command,如果为false还需要在build下拉里面选一下,我们这里就是label名字:catkin_make

    三、配置launch.json文件
      在vscode里面已经继承了GDB调试器,点击vscode左侧的debug按钮时会自动生产一个launch.json文件,需要自己 更改该文件中的“program”项 ,更改为编译后的可执行文件的路径下的文件(需要二进制文件),对应ROS通过catkin_make生产可执行文件的路径通常在 /devel/lib/ 下,后面跟上你设置好的package名和可执行文件名,
      然后需要增加 "preLaunchTask"项,其参数需要与task.json文件中的“label”项设置的名称相同

    {
        // Use IntelliSense to learn about possible attributes.
        // Hover to view descriptions of existing attributes.
        // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
        "version": "0.2.0",
        "configurations": [
            {
                "name": "(gdb) Launch",   // 配置名称,将会在调试配置下拉列表中显示
                "type": "cppdbg",   // 调试器类型 该值自动生成
                "request": "launch",   // 调试方式,还可以选择attach
                "program": "${workspaceFolder}/devel/lib/smart_car/smart_car",  //要调试的程序(完整路径,支持相对路径)
                "args": [], // 传递给上面程序的参数,没有参数留空即可
                "stopAtEntry": false, // 是否停在程序入口点(停在main函数开始)
                "cwd": "${workspaceFolder}", // 调试程序时的工作目录
                "environment": [],//针对调试的程序,要添加到环境中的环境变量. 例如: [ { "name": "squid", "value": "clam" } ]
                "externalConsole": false, //如果设置为true,则为应用程序启动外部控制台。 如果为false,则不会启动控制台,并使用VS Code的内置调试控制台。
                "MIMode": "gdb",  // VSCode要使用的调试工具
                "preLaunchTask": "catkin_make", / 这个重要,需要与task中的label相同
                "setupCommands": [
                    {
                        "description": "Enable pretty-printing for gdb",
                        "text": "-enable-pretty-printing",
                        "ignoreFailures": true
                    }
                ]
            }
        ]
    }
    

    除此之外,因为我们不是roslaunch启动的节点,还需要一个终端运行roscore,否则会找不到ROS MASTER

    四、CMakeLists.txt文件设置
     为了能执行断电调试,需要在设置CMakeLists.txt文件,添加下面程序,下面的两个set是两种写法,如果debug时不能设置断电则换另一种试一下,

    #set(CMAKE_CXXX_FLAGS "${CMAKE_CXX_FLAGS} -g" )
    SET(CMAKE_BUILD_TYPE Debug)
    

    你写的程序有可能需要增加c++11标准

    add_compile_options(-std=c++11)
    

    别忘了添加自己需要编译的程序 add_executable(),这里不在赘述该项。

    五、问题修正
    通过以上设置后通过debug可以断电调试ROS程序,但在窗口中可能会报如下错误
    :[ERROR] : poll failed with error Interrupted system call,如下所示:
    在这里插入图片描述
    问题现象:
       直接执行程序一切正常,但使用gdb启动程序时,即使没有任何断点,发现tcp connect 总是失败,原因是(interrupted system call)。抓包发现主机会发送FIN或者RST断开这条连接。
    该问题是:
       gdb 调试网络程序发现connect 失败(interrupted system call), 程序是一个多线程程序,而且connect的线程不是主线程。
    修正办法:
      设置gdb 为non-stop 模式,如此可以完美解决
      打开~/.gdbinit(如果没有这个文件则自己新建一个同名文档),然后添加一下三行即可。

    set target-async 1
    set pagination off
    set non-stop on
    

    参考文章:
      ros项目调试:vscode下配置开发ROS项目:
         https://blog.csdn.net/weixin_35695879/article/details/85254422
      疑难杂症】gdb调试多线程程序报错:interrupted system call:
         https://blog.csdn.net/weixin_30342209/article/details/95162905

    感觉实用记得帮忙点个赞 或者给个评论 哈!!!!

    展开全文
  • 使使用用Chrome调调试试JavaScript的的断断点点设设置置和和调调试试技技巧巧 这篇文章主要介绍了使用Chrome调试JavaScript的断点设置调试技巧,需要的朋友可以参考下 你是怎么调试 JavaScript 程序的 原始的方法是...
  • 【记录】在QT中使用断点调试程序

    千次阅读 2019-03-28 15:58:27
    如何在QT中使用断点调试程序: 断点是调试程序核心之一,与一般编译器不同,Qt进行调试时首先应先将调试环境设置为Debug,如图1; 以Debug进行构建后,设置断点并按按钮进行调试,即可实现断点的调试。 ...

    【记录】

    系统环境:
    Ubuntu 16.04
    Qt 5.10
    如何在QT中使用断点调试程序:
    断点是调试程序核心之一,与一般编译器不同,Qt进行调试时首先应先将调试环境设置为Debug,如图1;

    在这里插入图片描述
    以Debug进行构建后,设置断点并按在这里插入图片描述按钮进行调试,即可实现断点的调试。

    展开全文
  • Eclipse设置条件断点调试java程序

    万次阅读 2017-03-23 22:47:18
    编程人员调试代码经常使用到断点,但很多人可能没有使用过条件断点,那么什么时候会需要用到条件断点呢? 1、for循环比较次数比较多,想让for循环停在指定的第几次循环处 2、想在大家同时运行的代码环境上自己调试,...
  • Eclipse进行断点调试程序

    千次阅读 2018-05-15 23:10:55
    Java Eclipse进行断点调试如何调试Java程序?大家最开始学习Java,都会觉得IDE调试好高端有木有,其实很简单了。下文会尽量简单直观的教会你在Eclipse中调试,其他的IDE调试步骤也是类似的。1.在你觉得有错的地方...
  • 注意为了更改调试配置,您的代码必须存储在一个文件夹中。 使用Python配置生成launch.json文件: 1.在左侧栏中点击debug按钮选择设置按钮 Debug> Open configurations菜单命令。 2.将从命令选项板打开配置菜单...
  • 1:点击F12进入代码调试页面,然后点击source,点击需要设置断点的地方,F5刷新 2:F11向下面执行一步。 3:F10向上面执行一步。
  • 如果普通的断点调试跟踪不出问题的话,可以试试异常断点来调试程序。就是发生指定异常的时候,程序中断在异常代码处。这样可以大大的方便我们定位问题点。 选择Run → View Breakpoints...菜单项调出异常断点...
  • idea设置断点调试

    千次阅读 2019-03-25 17:20:21
    #关于idea调试
  • KEIL在线调试(设置断点调试)

    万次阅读 多人点赞 2020-08-20 18:15:46
    (3) J-Link + MDK 组合,来在线调试程序(可下载、单步调试)。 下载:是将具体的文件如.axf或HEX下载到开发板的flash(SRAM)中去,在开发板启动之后就会运行所下载文件。根据运行结果再将修改的程序下至开发板中...
  • Microsoft Visual C++ 6.0 断点调试程序

    千次阅读 2020-08-07 09:20:28
    记一下Visual C++ 6.0如何调试程序
  • VS在release模式下设置断点调试

    千次阅读 2018-10-16 10:09:25
    VS在release模式下设置断点调试方法: 右键-&gt;"属性"-&gt;"C/C++"-&gt;"优化",优化选择:已禁用 (/Od),即可在release模式下设置断点进行调试。
  • 微信小程序断点调试.

    2018-08-07 14:30:05
    微信小程序断点调试,是相当重要的,因为微信的小程序的调试,本事不是太难。
  • 这里由于程序是由其他程序启动的,所以我们不能够直接在XCode中编译运行程序设置断点调试。但幸运的是,XCode提供了附加在进程上的调试功能,并且可以在进程启动前,通过进程名称等待进程运行,并在进程真正加载...
  • java中如何用断点调试程序

    千次阅读 2013-03-22 22:28:59
    1、选定要调试的行,双击该代码行前端对应的隔条即可设置断点。 2、右键点击编辑器的任意区域,在弹出的快捷菜单中选择debug as进入debug视图调试程序 在debug中单击step over主句调试,单击step into进入方法内部...
  • visual Studio如何使用断点调试程序

    万次阅读 2018-08-29 22:05:44
    2、启动程序,当进行到断点处时,程序会停止,然后可以看到一个黄色的小箭头在断点处 3、快捷键F10:进行下一句代码 4、快捷键F11:进入当前代码所调用的方法,如果没有则进行下一句。 5、快捷键F5:跳过本断点。...
  • maven部署的项目在eclipes中怎么设置断点调试
  • 如何设置断点调试并关闭调试界面

    千次阅读 2014-05-04 14:44:43
    1, 首先在一个java文件中设断点,然后运行,当程序走到断点处就会转到debug视图下, 2, F5键与F6键均为单步调试,F5是step into,也就是进入本行代码中执行,F6是step over, 也就是执行本行代码,跳到下一行,...
  • Intellij IDEA 2017 debug断点调试技巧与总结详解篇

    万次阅读 多人点赞 2017-03-20 13:15:33
    在调试代码的时候,你的项目得debug模式启动,也就是点那个绿色的甲虫启动服务器,然后,就可以在代码里面断点调试啦。 下面不要在意,这个快捷键具体是啥,因为,这个keymap是可以自己配置的,有的人keymap是mac版...
  • iOS-断点设置调试程序

    千次阅读 2015-08-19 12:27:07
    编码不能没调试调试不能没断点(Break Point)。XCode的断点功能也是越来越强大。 基本断点 如下图,这种是最常用的断点,也是最容易设置。左键点击一下就可以设置。  编辑断点 断点是...
  • IDEA--IDEA debug断点调试技巧

    万次阅读 多人点赞 2018-08-07 21:37:48
    六、断点条件设置 七、多线程调试 八、回退断点 九、中断Debug Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化。通常我们...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 108,357
精华内容 43,342
关键字:

如何设置断点调试程序