×
思维导图备注
Debian 参考手册(版本 2.76)
首页
白天
夜间
小程序
阅读
书签
我的书签
添加书签
移除书签
12.4. 调试
来源:debian
浏览
438
扫码
分享
2020-11-14 07:55:12
12.4. 调试
12.4. 调试
调试是程序中很重要的一部分。知道怎样去调试程序使得作为 Debian 使用者的你, 能够做出有意义的错误报告。
当前内容版权归
debian
或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问
debian
.
上一篇:
下一篇:
序言
1. 免责声明
2. 什么是 Debian
3. 关于本文档
4. 一些对新使用者的提醒
5. 一些对新使用者的引导
第 1 章 GNU/Linux 教程
1.1. 控制台基础
1.1.1. shell 提示符
1.1.2. X 系统下的 shell 提示符
1.1.3. root 账户
1.1.4. root shell 提示符
1.1.5. GUI 系统管理工具
1.1.6. 虚拟控制台
1.1.7. 怎样退出命令行提示符
1.1.8. 怎样关闭系统
1.1.9. 恢复一个正常的控制台
1.1.10. 建议新手安装的额外软件包
1.1.11. 额外用户账号
1.1.12. sudo 配置
1.1.13. 动手时间
1.2. 类 Unix 文件系统
1.2.1. Unix 文件基础
1.2.2. 文件系统深入解析
1.2.3. 文件系统权限
1.2.4. 控制新建文件的权限:umask
1.2.5. 一组用户的权限(组)
1.2.6. 时间戳
1.2.7. 链接
1.2.8. 命名管道(先进先出)
1.2.9. 套接字
1.2.10. 设备文件
1.2.11. 特殊设备文件
1.2.12. procfs 和 sysfs
1.2.13. tmpfs
1.3. Midnight Commander (MC)
1.3.1. 自定义 MC
1.3.2. 启动 MC
1.3.3. MC 文件管理
1.3.4. MC 命令行技巧
1.3.5. MC 内部编辑器
1.3.6. MC 内部查看器
1.3.7. 自动启动 MC
1.3.8. MC 中的 FTP 虚拟文件系统
1.4. 类 Unix 工作环境基础
1.4.1. 登录 shell
1.4.2. 定制bash
1.4.3. 特殊按键
1.4.4. Unix类型的鼠标操作
1.4.5. 分页程序
1.4.6. 文本编辑器
1.4.7. 设置默认文本编辑器
1.4.8. 定制vim
1.4.9. 记录 shell 活动
1.4.10. 基本的Unix命令
1.5. 简单 shell 命令
1.5.1. 命令执行和环境变量
1.5.2. “$LANG”变量
1.5.3. ”$PATH” 变量
1.5.4. ”$HOME” 变量
1.5.5. 命令行选项
1.5.6. Shell 通配符
1.5.7. 命令的返回值
1.5.8. 典型的顺序命令和 shell 重定向
1.5.9. 命令别名
1.6. 类 Unix 的文本处理
1.6.1. Unix 文本工具
1.6.2. 正则表达式
1.6.3. 替换表达式
1.6.4. 正则表达式的全局替换
1.6.5. 从文本文件的表格中提取数据
1.6.6. 用于管道命令的小片段脚本
第 2 章 Debian 软件包管理
2.1. Debian 软件包管理的前提
2.1.1. 软件包配置
2.1.2. 基本的注意事项
2.1.3. 持续升级的生活
2.1.4. Debian 档案库基础
2.1.5. Debian 是100% 的自由软件
2.1.6. 软件包依赖关系
2.1.7. 包管理的事件流
2.1.8. 对包管理问题的第一个回应
2.2. 基础软件包管理操作
2.2.1. apt vs. apt-get / apt-cache vs. aptitude
2.2.2. 命令行中的基础软件包管理操作
2.2.3. aptitude 的交互式使用
2.2.4. aptitude 的按键绑定
2.2.5. aptitude 软件包视图
2.2.6. aptitude 搜索方式选项
2.2.7. aptitude 正则表达式
2.2.8. aptitude 的依赖解决
2.2.9. 软件包活动日志
2.3. aptitude 操作范例
2.3.1. 通过正则表达式匹配软件包名称来列出软件包
2.3.2. 使用正则表达式匹配浏览
2.3.3. 完整地清理已删除软件包
2.3.4. 调整自动/手动安装状态
2.3.5. 全面的系统升级
2.4. 高级软件包管理操作
2.4.1. 命令行中的高级软件包管理操作
2.4.2. 验证安装的软件包文件
2.4.3. 预防软件包故障
2.4.4. 搜索软件包元数据
2.5. Debian 软件包内部管理
2.5.1. 档案库元数据
2.5.2. 顶层“Release”文件及真实性
2.5.3. 档案库层的“Release”文件
2.5.4. 获取用于软件包的元数据
2.5.5. APT 的软件包状态
2.5.6. aptitude 的软件包状态
2.5.7. 获取的软件包的本地副本
2.5.8. Debian 软件包文件名称
2.5.9. dpkg 命令
2.5.10. update-alternatives 命令
2.5.11. dpkg-statoverride 命令
2.5.12. dpkg-divert 命令
2.6. 从损坏的系统中恢复
2.6.1. 不兼容旧的用户配置
2.6.2. 具有相同文件的不同软件包
2.6.3. 修复损坏的软件包脚本
2.6.4. 使用 dpkg 命令进行救援
2.6.5. 恢复软件包选择数据
2.7. 软件包管理技巧
2.7.1. 如何挑选 Debian 软件包
2.7.2. 混合源档案库中的软件包
2.7.3. 调整候选版本
2.7.4. 更新和向后移植
2.7.5. 阻止推荐的软件包的安装
2.7.6. 使用带有 unstable 软件包的 testing 版本
2.7.7. 使用带有 experimental 软件包的 unstable 版本
2.7.8. 自动下载和升级软件包
2.7.9. 限制 APT 的下载带宽
2.7.10. 紧急降级
2.7.11. 上传软件包的是谁?
2.7.12. equivs 软件包
2.7.13. 移植一个软件包到 stable 系统
2.7.14. 用于 APT 的代理服务器
2.7.15. 小型公共软件包档案库
2.7.16. 记录和复制系统配置
2.7.17. 转换或安装一个外来的二进制软件包
2.7.18. 不使用 dpkg 解压软件包
2.7.19. 更多关于软件包管理的文档
第 3 章 系统初始化
3.1. 启动过程概述
3.1.1. 第一阶段:BIOS
3.1.2. 第二阶段:引载加载程序
3.1.3. 第三阶段:迷你 Debian 系统
3.1.4. 第四阶段:常规 Debian 系统
3.2. Systemd 初始化
3.2.1. 主机名
3.2.2. 文件系统
3.2.3. 网络接口初始化
3.2.4. 内核消息
3.2.5. 系统消息
3.2.6. systemd 下的系统管理
3.2.7. 定制 systemd
3.3. udev 系统
3.3.1. 内核模块初始化
第 4 章 认证
4.1. 一般的 Unix 认证
4.2. 管理账号和密码信息
4.3. 好密码
4.4. 设立加密的密码
4.5. PAM 和 NSS
4.5.1. PAM 和 NSS 访问的配置文件
4.5.2. 现代的集中式系统管理
4.5.3. “为什么 GNU su 不支持 wheel 组”
4.5.4. 严格的密码规则
4.6. 其它的访问控制
4.6.1. sudo
4.6.2. PolicyKit
4.6.3. SELinux
4.6.4. 限制访问某些服务端的服务
4.7. 安全认证
4.7.1. 确保互联网上的的密码安全
4.7.2. 安全 Shell
4.7.3. 互联网额外的安全方式
4.7.4. root 密码安全
第 5 章 网络设置
5.1. 基本网络架构
5.1.1. 主机名解析
5.1.2. 网络接口名称
5.1.3. 局域网网络地址范围
5.1.4. 网络设备支持
5.2. 现代的桌面网络配置
5.2.1. 图形界面的网络配置工具
5.3. 没有图像界面的现代网络配置
5.4. 传统的网络连接和配置
5.5. 网络连接方式(传统)
5.5.1. 以太网 DHCP 连接
5.5.2. 以太网静态 IP 连接
5.5.3. 使用 pppconfig 的 PPP 连接
5.5.4. 使用 wvdialconf 的另一种可选的 PPP 连接
5.5.5. 使用 pppoeconf 的 PPPoE 以太网连接
5.6. 使用 ifupdown 进行基本网络配置(旧)
5.6.1. 简单的命令语法
5.6.2. ”/etc/network/interfaces” 基本语法
5.6.3. 回环网络接口
5.6.4. 使用 DHCP 的网络接口
5.6.5. 使用静态 IP 地址的网络接口
5.6.6. 无线局域网接口基础
5.6.7. 使用 WPA/WPA2 的无线局域网接口
5.6.8. 使用 WEP 的无线局域网接口
5.6.9. PPP 连接
5.6.10. 另一种 PPP 连接
5.6.11. PPPoE 连接
5.6.12. ifupdown 网络配置状态
5.6.13. 网络重新配置基础
5.6.14. ifupdown-extra 包
5.7. 使用 ifupdown 的高级网络配置(旧)
5.7.1. ifplugd 软件包
5.7.2. ifmetric 软件包
5.7.3. 虚拟接口
5.7.4. 高级命令语法
5.7.5. 映射节 mapping stanza
5.7.6. 手动的可切换网络配置
5.7.7. ifupdown 系统的脚本
5.7.8. guessnet Mapping 映射
5.8. 底层网络配置
5.8.1. Iproute2 命令
5.8.2. 安全的底层网络操作
5.9. 网络优化
5.9.1. 找出最佳 MTU
5.9.2. 设置 MTU
5.9.3. WAN TCP 优化
5.10. Netfilter 网络过滤框架
第 6 章 网络应用
6.1. 网页浏览器
6.1.1. 浏览器配置
6.2. 邮件系统
6.2.1. 电子邮件基础
6.2.2. 现代邮件服务基础
6.2.3. 工作站的邮件配置策略
6.3. 邮件传输代理 (MTA)
6.3.1. exim4 的配置
6.3.2. 带有 SASL 的 postfix 配置
6.3.3. 邮件地址配置
6.3.4. 基础 MTA 操作
6.4. 邮件用户代理 (MUA)
6.4.1. 基础 MUA — Mutt
6.4.2. 高级 MUA — Mutt + msmtp
6.5. 远程邮件检索和转发实用工具
6.5.1. getmail 配置
6.5.2. fetchmail 配置
6.6. 带有过滤器的邮件投递代理 (MDA)
6.6.1. maildrop 配置
6.6.2. procmail 配置
6.6.3. 重新投递 mbox 内容
6.7. POP3/IMAP4 服务器
6.8. 打印服务和工具
6.9. 服务器远程访问和工具 (SSH)
6.9.1. SSH 基础
6.9.2. SMTP/POP3 隧道的端口转发
6.9.3. 免密码远程连接
6.9.4. 处理其它 SSH 客户端
6.9.5. 建立 ssh 代理
6.9.6. 怎样通过 SSH 关闭远程系统
6.9.7. SSH 故障排查
6.10. 其它网络应用服务
6.11. 其它网络应用客户端
6.12. 系统后台守护进程(daemon)诊断
第 7 章 X 窗口系统
7.1. 关键软件包
7.2. 设置桌面环境
7.3. 服务器/客户端关系
7.4. X 服务器
7.5. 启动 X 窗口系统
7.6. X 窗口中的字体
7.6.1. 基础字体
7.6.2. 其它字体
7.6.3. CJK 字体
7.7. X 应用
7.7.1. X 办公应用
7.7.2. X 实用应用
7.8. X 琐事
7.8.1. 剪贴板
7.8.2. X 中的键盘和鼠标按钮映射
7.8.3. 典型的 X 客户端
7.8.4. X 终端模拟器 —— xterm
7.8.5. 以 root 运行 X 客户端
第 8 章 国际化和本地化
8.1. 键盘输入
8.1.1. IBus 支持的输入法
8.1.2. 一个日语的例子
8.1.3. 禁用输入法
8.2. 显示输出
8.3. 东亚环境下宽度有歧义的字符
8.4. 语言环境
第 9 章 系统技巧
9.1. screen 程序
9.1.1. screen(1) 的使用场景
9.1.2. screen 命令的键绑定
9.2. 数据记录和展示
9.2.1. 日志后台守护进程(daemon)
9.2.2. 日志分析
9.2.3. 清晰的记录 shell 活动
9.2.4. 定制文本数据的显示
9.2.5. 定制时间和日期的显示
9.2.6. shell 中 echo 的颜色
9.2.7. 有颜色输出的命令
9.2.8. 记录编辑器复杂的重复操作动作
9.2.9. 记录 X 应用程序的图形
9.2.10. 记录配置文件的变更
9.3. 监控、控制和启动程序活动
9.3.1. 进程耗时
9.3.2. 调度优先级
9.3.3. ps 命令
9.3.4. top 命令
9.3.5. 列出被一个进程打开的文件
9.3.6. 跟踪程序活动
9.3.7. 识别使用文件和套接字的进程
9.3.8. 使用固定间隔重复一个命令
9.3.9. 使用文件循环来重复一个命令
9.3.10. 从 GUI 启动一个程序
9.3.11. 自定义被启动的程序
9.3.12. 杀死一个进程
9.3.13. 单次任务时间安排
9.3.14. 定时任务安排
9.3.15. Alt-SysRq 键
9.4. 系统维护技巧
9.4.1. 谁在系统里?
9.4.2. 警告所有人
9.4.3. 硬件识别
9.4.4. 硬件配置
9.4.5. 系统时间和硬件时间
9.4.6. 终端配置
9.4.7. 声音基础设施
9.4.8. 关闭屏幕保护
9.4.9. 关闭蜂鸣声
9.4.10. 内存使用
9.4.11. 系统安全性和完整性检查
9.5. 数据存储技巧
9.5.1. 硬盘空间使用情况
9.5.2. 硬盘分区配置
9.5.3. 使用 UUID 访问分区
9.5.4. LVM2
9.5.5. 文件系统配置
9.5.6. 文件系统创建和完整性检查
9.5.7. 通过挂载选项优化文件系统
9.5.8. 通过超级块(superblock)优化文件系统
9.5.9. 硬盘优化
9.5.10. 固态硬盘优化
9.5.11. 使用 SMART 预测硬盘故障
9.5.12. 通过 $TMPDIR 指定临时存储目录
9.5.13. 通过 LVM 扩展可用存储空间
9.5.14. 通过挂载另一个分区来扩展可用存储空间
9.5.15. 通过 “mount –bind” 挂载另一个目录来扩展可用存储空间
9.5.16. 通过 overlay 挂载(overlay-mounting)另一个目录来扩展可用存储空间
9.5.17. 使用符号链接扩展可用存储空间
9.6. 磁盘映像
9.6.1. 制作磁盘映像文件
9.6.2. 直接写入硬盘
9.6.3. 挂载磁盘映像文件
9.6.4. 清理磁盘映像文件
9.6.5. 制作空的磁盘映像文件
9.6.6. 制作 ISO9660 镜像文件
9.6.7. 直接写入文件到 CD/DVD-R/RW
9.6.8. 挂载 ISO9660 镜像文件
9.7. 二进制数据
9.7.1. 查看和编辑二进制数据
9.7.2. 不挂载磁盘操作文件
9.7.3. 数据冗余
9.7.4. 数据文件恢复和诊断分析
9.7.5. 把大文件分成多个小文件
9.7.6. 清空文件内容
9.7.7. 样子文件
9.7.8. 擦除整块硬盘
9.7.9. 擦除硬盘上的未使用的区域
9.7.10. 恢复已经删除但仍然被打开的文件
9.7.11. 查找所有硬链接
9.7.12. 不可见磁盘空间消耗
9.8. 数据加密提示
9.8.1. 使用 dm-crypt/LUKS 加密移动磁盘
9.8.2. 用dm-crypt加密的交换分区
9.8.3. 使用dm-crypt/LUKS挂载加密的磁盘
9.8.4. 用eCryptfs自动加密文件
9.8.5. 自动挂载 eCryptfs
9.9. 内核
9.9.1. Linux 内核 2.6⁄3.x
9.9.2. 内核参数
9.9.3. 内核头文件
9.9.4. 编译内核和相关模块
9.9.5. 编译内核源代码:Debian 内核团队推荐
9.9.6. 硬件驱动和固件
9.10. 虚拟化系统
9.10.1. 虚拟化工具
9.10.2. 虚拟化工作流
9.10.3. 挂载虚拟磁盘映像文件
9.10.4. Chroot 系统
9.10.5. 多桌面系统
第 10 章 数据管理
10.1. 共享,拷贝和存档
10.1.1. 存档和压缩工具
10.1.2. 复制和同步工具
10.1.3. 归档语法
10.1.4. 复制语法
10.1.5. 查找文件的语法
10.1.6. 归档媒体
10.1.7. 可移动存储设备
10.1.8. 选择用于分享数据的文件系统
10.1.9. 网络上的数据分享
10.2. 备份和恢复
10.2.1. 实用备份套件
10.2.2. 一个系统备份的脚本例子
10.2.3. 用于备份数据的复制脚本
10.3. 数据安全基础
10.3.1. GnuPG 密钥管理
10.3.2. 在文件上使用 GnuPG
10.3.3. 在 Mutt 中使用 GnuPG
10.3.4. 在 Vim 中使用 GnuPG
10.3.5. MD5 校验和
10.4. 源代码合并工具
10.4.1. 从源代码文件导出差异
10.4.2. 源代码文件移植更新
10.4.3. 通过三方移植进行更新
10.5. 版本控制系统
10.5.1. VCS 命令的比较
10.6. Git
10.6.1. 配置 Git 客户端
10.6.2. Git 参考
10.6.3. Git 命令
10.6.4. 用于 Subversion 仓库的 Git
10.6.5. 记录配置历史的 Git
10.7. CVS
10.7.1. CVS 存储库的配置
10.7.2. 本地访问 CVS
10.7.3. 使用 pserver 远程访问 CVS
10.7.4. 使用 ssh 远程访问 CVS
10.7.5. 往 CVS 导入新的源
10.7.6. CVS 存储库中的文件权限
10.7.7. CVS 工作流
10.7.8. CVS 中最新的文件
10.7.9. CVS 的管理
10.7.10. 用于 CVS 签出时的可执行位
10.8. Subversion
10.8.1. Subversion 存储库的配置
10.8.2. 通过 Apache2 服务器访问 Subversion
10.8.3. 按组本地访问 Subversion
10.8.4. 通过 SSH 远程访问 Subversion
10.8.5. Subversion 目录结构
10.8.6. 往 Subversion 里导入一个新的源
10.8.7. Subversion 工作流
第 11 章 数据转换
11.1. 文本数据转换工具
11.1.1. 用 iconv 命令来转换文本文件
11.1.2. 用 iconv 检查文件是不是 UTF-8 编码
11.1.3. 使用 iconv 转换文件名
11.1.4. 换行符转换
11.1.5. TAB 转换
11.1.6. 带有自动转换功能的编辑器
11.1.7. 提取纯文本
11.1.8. 高亮并格式化纯文本数据
11.2. XML 数据
11.2.1. XML 的基本提示
11.2.2. XML 处理
11.2.3. XML 数据提取
11.3. 排版
11.3.1. roff 排版
11.3.2. TeX/LaTeX
11.3.3. 漂亮的打印手册页
11.3.4. 创建手册页
11.4. 可印刷的数据
11.4.1. Ghostscript
11.4.2. 合并两个 PS 或 PDF 文件
11.4.3. 处理可印刷数据的工具
11.4.4. 用 CUPS 打印
11.5. 邮件数据转换
11.5.1. 邮件数据基础
11.6. 图形数据工具
11.7. 不同种类的数据转换工具
第 12 章 编程
12.1. Shell 脚本
12.1.1. POSIX shell 兼容性
12.1.2. Shell 参数
12.1.3. Shell 条件语句
12.1.4. shell 循环
12.1.5. shell 命令行的处理顺序
12.1.6. 用于 shell 脚本的应用程序
12.1.7. shell 脚本对话框
12.1.8. zenity 的 shell 脚本案例
12.2. make
12.3. C
12.3.1. 简单的 C 程序(gcc)
12.4. 调试
12.4.1. 基本的 gdb 使用命令
12.4.2. 调试 Debian 软件包
12.4.3. 获得栈帧
12.4.4. 高级 gdb 命令
12.4.5. 调试与 X 相关的错误
12.4.6. 检查库依赖性
12.4.7. 内存泄漏检测工具
12.4.8. 静态代码分析工具
12.4.9. 反汇编二进制程序
12.5. Flex — 一个更好的 Lex
12.6. Bison — 一个更好的 Yacc
12.7. Autoconf
12.7.1. 编译并安装程序
12.7.2. 卸载程序
12.8. Perl 短脚本的疯狂
12.9. Web
12.10. 源代码转换
12.11. 制作 Debian 包
附录 A. 附录
A.1. Debian 迷宫
A.2. 版权历史
A.3. 文档格式
A.4. 简体中文翻译
暂无相关搜索结果!
本文档使用
BookStack
构建
×
分享,让知识传承更久远
×
文章二维码
手机扫一扫,轻松掌上读
×
文档下载
普通下载
下载码下载(免登录无限下载)
你与大神的距离,只差一个APP
请下载您需要的格式的文档,随时随地,享受汲取知识的乐趣!
PDF
文档
EPUB
文档
MOBI
文档
温馨提示
每天每在网站阅读学习一分钟时长可下载一本电子书,每天连续签到可增加阅读时长
下载码方式下载:免费、免登录、无限制。
免费获取下载码
下载码
文档格式
PDF
EPUB
MOBI
码上下载
×
微信小程序阅读
您与他人的薪资差距,只差一个随时随地学习的小程序
×
书签列表
×
阅读记录
阅读进度:
0.00%
(
0/0
)
重置阅读进度