摘要: 本节课的核心内容: 多线程下禁止线程切换条件断点使用 GDB 调试多进程程序多线程下禁止线程切换 假设现在有 5 个线程,除了主线程,工作线程都是下面这样的一个函数: void thread_proc(void* arg){ //代码行1 //代码... 阅读全文
posted @ 2019-03-23 14:39 叨陪鲤 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 本节课的核心内容: 将 print 打印结果显示完整让被 GDB 调试的程序接收信号函数明明存在,添加断点时却无效将 print 打印结果显示完整 当使用 print 命令打印一个字符串或者字符数组时,如果该字符串太长,print 命令默认显示不全的,我们可以... 阅读全文
posted @ 2019-03-23 14:39 叨陪鲤 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 本课的核心内容: disassemble 命令 set args 和 show args 命令 tbreak 命令 watch 命令 display 命令 disassemble 命令 当进行一些高级调试时,我们可能需要查看某段代码的汇编指令去排查问题,或者是... 阅读全文
posted @ 2019-03-23 14:39 叨陪鲤 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 本课的核心内容: info 和 thread 命令next、step、util、finish、return 和 jump 命令info 和 thread 命令 在前面使用 info break 命令查看当前断点时介绍过,info 命令是一个复合指令,还可以用... 阅读全文
posted @ 2019-03-23 14:39 叨陪鲤 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 本课的核心内容如下: run 命令continue 命令break 命令backtrace 与 frame 命令info break、enable、disable 和 delete 命令list 命令print 和 ptype 命令为了结合实践,这里以调试 R... 阅读全文
posted @ 2019-03-23 14:38 叨陪鲤 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 本节课将介绍 Redis 项目在 Linux 系统中使用 gdb 去调试,这里的调试环境是 CentOS 7.0,但是通常情况下对于 C/C++ 项目我一般习惯使用 Visual Studio 去做项目管理,Visual Studio 提供了强大的 C/C++... 阅读全文
posted @ 2019-03-23 14:38 叨陪鲤 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 先给出一个常用命令的列表,后面会结合具体的例子详细介绍每个命令的用法。 命令名称命令缩写命令说明runr运行一个程序continuec让暂停的程序继续运行nextn运行到下一行steps如果有调用函数,进入调用的函数内部,相当于 step intountilu... 阅读全文
posted @ 2019-03-23 14:38 叨陪鲤 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 使用 GDB 调试程序一般有三种方式: gdb filenamegdb attach pidgdb filename corename这也对应着本节课的核心内容: 直接调试目标程序附加进程调试 core 文件接下来我们逐一讲解。 2.1 直接调试目标程序 在开... 阅读全文
posted @ 2019-03-23 14:38 叨陪鲤 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 第01课:调试信息与调试原理 Linux 下 C++ 程序开发,即使使用 makefile、cmake 等编译工具,其最终都是调用 gcc 这一编译工具组的。这里说的工具组,是因为编译 C 程序和 C++ 程序使用的编译工具还是有一点差别的,一般编译 C 程序... 阅读全文
posted @ 2019-03-23 14:38 叨陪鲤 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 开篇词:Linux C/C++ 开发人员要熟练掌握 GDB 调试 大家好,我是范蠡,目前在某知名互联网旅游公司基础框架业务部技术专家组任开发经理一职。 本系列课程的主题是 Linux 后台开发的 C/C++ 调试,通俗地说就是 GDB 调试。GDB(GNU D... 阅读全文
posted @ 2019-03-23 14:37 叨陪鲤 阅读(64) 评论(0) 推荐(0) 编辑
摘要: Python的爬虫框架主要可以分为以下五个部分: 爬虫调度器:用于各个模块之间的通信,可以理解为爬虫的入口与核心(main函数),爬虫的执行策略在此模块进行定义; URL管理器:负责URL的管理,包括带爬取和已爬取的URL、已经提供相应的接口函数(类似... 阅读全文
posted @ 2019-03-23 14:35 叨陪鲤 阅读(149) 评论(0) 推荐(0) 编辑
摘要: Python的爬虫框架主要可以分为以下五个部分: 爬虫调度器:用于各个模块之间的通信,可以理解为爬虫的入口与核心(main函数),爬虫的执行策略在此模块进行定义; URL管理器:负责URL的管理,包括带爬取和已爬取的URL、已经提供相应的接口函数(类似... 阅读全文
posted @ 2019-03-23 14:01 叨陪鲤 阅读(106) 评论(0) 推荐(0) 编辑
摘要: Python的爬虫框架主要可以分为以下五个部分: 爬虫调度器:用于各个模块之间的通信,可以理解为爬虫的入口与核心(main函数),爬虫的执行策略在此模块进行定义; URL管理器:负责URL的管理,包括带爬取和已爬取的URL、已经提供相应的接口函数(类似... 阅读全文
posted @ 2019-03-23 12:17 叨陪鲤 阅读(70) 评论(0) 推荐(0) 编辑
摘要: Python的爬虫框架主要可以分为以下五个部分: 爬虫调度器:用于各个模块之间的通信,可以理解为爬虫的入口与核心(main函数),爬虫的执行策略在此模块进行定义; URL管理器:负责URL的管理,包括带爬取和已爬取的URL、已经提供相应的接口函数(类似... 阅读全文
posted @ 2019-03-23 12:17 叨陪鲤 阅读(55) 评论(0) 推荐(0) 编辑
摘要: Python的爬虫框架主要可以分为以下五个部分: 爬虫调度器:用于各个模块之间的通信,可以理解为爬虫的入口与核心(main函数),爬虫的执行策略在此模块进行定义; URL管理器:负责URL的管理,包括带爬取和已爬取的URL、已经提供相应的接口函数(类似... 阅读全文
posted @ 2019-03-23 11:59 叨陪鲤 阅读(69) 评论(0) 推荐(0) 编辑
摘要: Python的爬虫框架主要可以分为以下五个部分: 爬虫调度器:用于各个模块之间的通信,可以理解为爬虫的入口与核心(main函数),爬虫的执行策略在此模块进行定义; URL管理器:负责URL的管理,包括带爬取和已爬取的URL、已经提供相应的接口函数(类似... 阅读全文
posted @ 2019-03-23 11:59 叨陪鲤 阅读(91) 评论(0) 推荐(0) 编辑
摘要: Python的爬虫框架主要可以分为以下五个部分: 爬虫调度器:用于各个模块之间的通信,可以理解为爬虫的入口与核心(main函数),爬虫的执行策略在此模块进行定义; URL管理器:负责URL的管理,包括带爬取和已爬取的URL、已经提供相应的接口函数(类似... 阅读全文
posted @ 2019-03-23 11:36 叨陪鲤 阅读(212) 评论(0) 推荐(0) 编辑
摘要: Python的爬虫框架主要可以分为以下五个部分: 爬虫调度器:用于各个模块之间的通信,可以理解为爬虫的入口与核心(main函数),爬虫的执行策略在此模块进行定义; URL管理器:负责URL的管理,包括带爬取和已爬取的URL、已经提供相应的接口函数(类似... 阅读全文
posted @ 2019-03-23 11:36 叨陪鲤 阅读(44) 评论(0) 推荐(0) 编辑