软件开发工具(第10章:调试程序)

jalja jalja     2023-05-07     643

关键词:

一、安装GDB

第一步,打开下载页面,在下载界面上选择上方的Files标签。

第二步,在File标签下包含了诸如GCC、GDB等软件的各个版本下载列表,在列表中 找到gdb-7.0-mingw32-bin.tar.gz,注意选择bin文件而不是src文件进行下载。

第三步,若用户的机器中安装了下载工具,则会自动弹出下载对话框,否则 Windows会启动下载功能。

第四步,打开gdb-7.0-mingw32-bin.tar.gz压缩包,进入bin文件夹下找到gdb.exe。

第五步,将gdb.exe文件解压到MinGW安装目录下的bin文件夹中即可完成安装。

二、调试C程序

Eclipse CDT调试器允许用户设置断点、暂停、单步执行代码等方法来 控制程序的运行过程。

单击菜单栏的窗口(Window)菜单→Preferences →运行/调试 (Run/Debug),即可设置调试视图的相关属性 另一个可设置点是运行/调试(Run/Debug)树形菜单下的控制台 (Console)选项。

2、设置行断点(重点、记忆、应用)

断点可以使程序在运行到断点位置时自动暂停并且显示程序当前的状态。

用户可以在编辑器或者断点视图中添加或删除断点,而断点视图会清楚 地显示每个断点的状态,激活状态的断点会以蓝色的圆圈显示,非激活 状态的断点则是以白色透明圆圈显示。

添加行断点 在资源管理器中,打开需要调试的文件,将光标移动到编辑器左侧边缘的标记区域上, 用鼠标右键单击,从弹出的菜单中选择Toggle Breakpoint 即可设置一个行断点。

设 置后Eclipse将在标记区域上的这一行显示一个蓝色圆圈图标。 在Show View窗口中,打开调试(Debug)文件夹,选择断点(Breakpoint)后单 击OK按钮即可激活断点视图。 或者将光标移动到编辑器左侧边缘的标记区域上,双击即可在光标所在行添加一个断 点。

删除行断点

1)将光标移到编辑器左侧边缘的标记区域上,双击需要删除的行断点即可删 除该行断点。

2)将光标移到编辑器左侧边缘的标记区域上,用鼠标右键单击需要删除的行 断点,在弹出的菜单中,选择Toggle Breakpoint即可删除该行断点。

3)激活断点视图,选中需要删除的行断点(可多选),单击工具栏中的删除 选中断点(Remove Selected Breakpoints)即可删除该行断点。

激活和禁用行断点

1)将光标移到编辑器左侧边缘的标记区域上,右击需要禁用的行断点, 在弹出的菜单中,选择Disable Breakpoint即可禁用该行断点。

2)激活断点视图,选中需要禁用的行断点,将该行断点左侧复选框中 的勾去除,即可禁用该行断点。 禁用后的行断点在Eclipse中以白色圆圈显示。

*********************方法断点*********************

添加/删除方法断点

单击菜单栏中的窗口(Window)菜单,在显示视图(Show View)子菜单下选择 其他(Other)选项,弹出Show View窗口。

打开常规(General)文件夹,选择大纲(Outline)后单击OK按钮,即可打开大纲 视图。 右击add方法,在弹出的菜单中选择Toggle Breakpoint即可添加方法断点。

删除方法断点与删除行断点类似,同样有三种方法,分别是双击、鼠标右键弹出菜单、 在断点视图中删除。

激活/禁用方法断点

将光标移动到编辑器左侧边缘的标记区域上,右击需要激活的方法断 点,在弹出的菜单中,选择激活断点Enable Breakpoint即可激活该方 法断点。

激活断点视图,选中需要激活的方法断点,右击该方法断点弹出菜单, 选择Enable即可激活该方法断点。

***********************设置事件断点(重点、记忆、应用)***********************

所谓事件断点就是在程序运行过程中发生特定事件时将程序暂停。

激活断点视图,单击视图上方工具栏中的视图菜单(View Menu), 在弹出的菜单中选择添加事件断点(Add Event Breakpoint)。

设置断点动作(重点、记忆、应用)

打开断点视图,右击需要设置断点动作的断点,在弹出的菜单中选择 属性(Properties)。

在弹出的属性窗口中的左侧选择动作 (Actions),在该窗口中即可自定义此断点的动作。

调试程序(重点、记忆、应用)

Run→Debug Configurations

调试透视图 在默认情况下,调试透视图主要包括调试视图、变量视图、断点视图、 编辑器、大纲视图和控制台视图。

调试视图:显示当前调试的程序线程和其所处的状态

变量视图:显示整个调试过程中程序变量值的变化情况, 帮助程序员查错和纠错的主要手段。

技术图片

 

[架构之路-29]:目标系统-系统软件-linuxos内核以及内核驱动的调试技术

...9;POSIX系统调用是Linux内核空间与用户空间边界。通过strace工具,可以跟踪所有的用户空间和内核空间的交互以及系统调用的输入、输出、执行时间等信息。3.3 通过内核export的proc系统调试内核Linux系统上的/proc目录是一种文件... 查看详情

[架构之路-29]:目标系统-系统软件-linuxos内核以及内核驱动的调试技术

...9;POSIX系统调用是Linux内核空间与用户空间边界。通过strace工具,可以跟踪所有的用户空间和内核空间的交互以及系统调用的输入、输出、执行时间等信息。3.3 通过内核export的proc系统调试内核Linux系统上的/proc目录是一种文件... 查看详情

第19章windows10系统下qt搭建android开发环境

19.2编译Android应用程序19.2.1创建Android(ARM)虚拟设备在SDK目录下,运行“AVDManager.exe”工具,创建虚拟设备。图19-2-1图19-2-2点击创建按钮之后,就填充设备的属性。开始在Windows上,模拟大于768M的RAM 查看详情

会员管理实战教程09-低码中的调试方法(代码片段)

...序里调试总结前言作为一名程序员,熟悉自己的开发工具,并能熟练的调试程序是必备的技能。低码开发也不例 查看详情

hololens开发入门简介

...的任何全息应用程序的起始模板。预备知识已经利用安装工具正确配置的Windows10PC。目录1第 1章 –创建新项目2第 2章 –设置摄像头3第 3章 –创建全息图4第 4章 –从 Un 查看详情

vue.js拓展篇(10):测试开发与调试

...规范的开发流程和严谨的测试都是不可或缺的。合理使用工具将事半功倍。1.ESLintESLint是Lint语法检查工具,避免的低级的bug和不统一的代码风格。它比JSLint好的地方是可配置、细粒度的,每一条规则都是一个插件。4ESLint的项目... 查看详情

第7章异常处理结构代码测试与调试

  再牛的程序员也无法提前预见代码运行时可能遇到的所有情况,机会每个程序员都被用户说过“你编的那个软件不好用啊”,而程序员经过反复检查以后发现问题的原因是用户操作不规范或者输入了错误类型的数据,于是一... 查看详情

web应用安全威胁与防治——基于owasptop10与esapi的目录

...评估方法282.3OWASPTop10342.4ESAPI(EnterpriseSecurityAPI)35第3篇工具篇第3章Web服务器工具简介383.1Apache383.2其他Web服务器39第4章Web浏览器以及调试工具424.1浏览器简介424.1.1基本功能424.1.2主流浏览器434.1.3浏览器内核444.2开发调试工具45第5... 查看详情

第10章,程序包管理学习笔记

...80/2095439笔记整理开始时间:2018年4月20日14:07:22第10章 程序包管理本章内容       软件运行环境   查看详情

第18章读书笔记

第18章 调试调试工作艰难是内核级开发区别于用户级开发的一个显著特点,相比于用户级开发,内核调试的难度确实要艰苦得多。更可怕的是,它带来的风险比用户级别更高,内核的一个错误往往立刻就能让系统崩溃。驾驭内... 查看详情

java程序设计课程介绍

...从而具有利用Java语言进行程序设计的能力,为将来从事软件开发,特别是Web应用系统开发打下良好基础。全书共分10章,从内容上大致分为三个部分:第一部分为第1章~第3章,介绍Java程序设计的基础知识,包括Java语言概述、Ja... 查看详情

原理+实战快速掌握响应式开发

...-2课程介绍第2章实战利器逐一讲解响应式web开发的理论,工具和方法。对响应式开发中涉及的各核心技术进行深入的分析。知识点概念/原理与示例结合,让你全面/透彻的理解和掌握响应式开发。2-1单位像素2-2媒体查询-视口12-3... 查看详情

cuda编程基础与实践樊哲勇电子书pdf

...即可  CUDA是目前较为流行的GPU高性能计算的开发工具之一。本书通过大量实例系统地讲述CUDA编程的重要方面。前12章通过一些简短的例子循序渐进地介绍CUDA编程的基础知识,主要包括GPU硬件与CUDA程序开发工具(第1章)... 查看详情

实验2汇编源程序编写与汇编调试

...与结构2.掌握汇编语言源程序编写→汇编→链接→调试的工具和方法3.理解汇编源程序中地址表示、段寄存器的用法4.理解和掌握寄存器间接寻址方式[bx]5.通过汇编指令loop的使用理解编程语言中循环的本质二、实验准备1.学习/复... 查看详情

软件开发工具(第7章:eclipse入门)

一、Eclipse简介Eclipse[i?klips],是一个开放源代码的、基于Java的可扩展集成应用程序开发环境。Eclipse最初主要用来进行Java语言开发,但并非只有这个用途。Eclipse的体系结构 运行时内核:平台运行库是内核,它在启动时检查已... 查看详情

java仿短视频小程序全栈开发实战视频教程+课程代码

第1章微信小程序初学入门第2章微信小程序的基础组件学习第3章form表单组件与小程序前后端通信第4章产品介绍与数据库规划介绍第5章开发用户登录注册与用户信息第6章上传视频业务流程开发第7章视频展现页开发第8章开发视频... 查看详情

《pyqt5软件开发-基础篇》第4章pyqt5菜单和工具栏(代码片段)

4.1主窗口QMainWindow类提供了一个主要的应用程序窗口。你用它可以让应用程序添加状态栏,工具栏和菜单栏。4.2状态栏状态栏用于显示状态信息。#-*-coding:utf-8-*-"""author:BruceOulastedited:2020-06"""importsysfromPyQt5.QtWidgetsim... 查看详情

《pyqt5软件开发-基础篇》第4章pyqt5菜单和工具栏(代码片段)

4.1主窗口QMainWindow类提供了一个主要的应用程序窗口。你用它可以让应用程序添加状态栏,工具栏和菜单栏。4.2状态栏状态栏用于显示状态信息。#-*-coding:utf-8-*-"""author:BruceOulastedited:2020-06"""importsysfromPyQt5.QtWidgetsim... 查看详情