![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
软件工程
文章平均质量分 52
SamuelXxf
运控、机器人、论文、算法、代码
展开
-
segment fault排查技巧
core dump定位segment fault错误思路:一般是使用gdb进行问题定位,gdb需要有core-dump文件。方法:设置core-dump文件大小,默认是0,ulimit -c unlimited,设置corefile的大小为不限制大小;编译可执行程序时,需要加上-g选项,便于后期问题定位;修改corefile的输出路径,新建一个/corefile文件夹,然后输入chmod 777开设权限;通过echo “/corefile/core-%e-%p-%t” > /proc/sy原创 2021-07-18 21:43:04 · 539 阅读 · 0 评论 -
VSCode+gdb c/c++本地/远程调试
必要的前提环境vscode安装C/C++插件开发机安装gdb远程调试则远程运行机需要gdbserver代码编译增加 -g 选项,建议采用-O0的优化等级注意事项:对于使用setcap提升权限的app,直接调试是没有权限的。可以给/usr/bin/gdbserver提升权限后,来进行本地调试。(不建议使用root运行vscode来调试,会导致代码文件变更为root权限)给gdb提升权限,仅在单独使用gdb调试时才有效,使用vscode调试仍旧没用调试配置在根目录下的【.vscode原创 2021-07-18 21:39:42 · 2548 阅读 · 0 评论 -
cmake:基本结构
CMake基本结构cmake_minimum_required(VERSION 3.0)project(ttest)# 单元测试# add_subdirectory(test)# add_subdirectory(subsrc)# 目标编译配置include_directories( )aux_source_directory(. SRCS)add_executable(${PROJECT_NAME}${SRCS})# 动态库# add_library(${P原创 2021-07-18 21:32:13 · 328 阅读 · 0 评论 -
UML:类图中的各种线
继承(泛化)实现依赖关联聚合关联和聚合基本一致。其中A中B都拥有独立的生命周期组合A生命周期结束。B、C也结束原创 2021-07-18 21:27:41 · 905 阅读 · 0 评论 -
人月神话读书笔记(3)外科手术队伍
喜欢由一流人才组成的小型、精干的队伍,而不是那些几百人的大型团队。1. 问题:如何在有意的进度安排内创建大型的系统?作者观点:需要协同沟通的人员数量影响着开发成本,因为成本的主要组成部分是相互的沟通和交流,以及更正沟通不但引起的不良结果小型精干队伍对于真正意义上的大型系统,它太慢了。矛盾:对于效率和概念的完整性,最好由少数干练的人员来设计和开发 VS 对于大型系统,需要大量人手,以使产品...原创 2020-03-10 23:04:38 · 168 阅读 · 0 评论 -
人月神话读书笔记(2)人月神话
1. 进度滞后的原因不真实的假设—一切都将运作良好假设人和月可以互换,将进度与工作量相互混淆缺少耐心持续估算工作缺少对进度的跟踪和监督进度滞后,盲目增加人手2. 乐观主义系统编程的进度安排背后的第一个错误假设是:一切都将运作良好,每一项任务仅花费它所“应该”花费的事件文中提到“对于创造者,只有在实现过程中,才能发现我们构思的不完整性和不一致性。”可以引申理解为设计时的乐...原创 2020-03-10 21:39:53 · 139 阅读 · 0 评论 -
人月神话读书笔记(1)焦油坑
1. 焦油坑1.1 编程系统产品的演进程序:完整的能够在作者所在系统平台上运行的产品编程产品:可被任何人运行、测试、修复和扩展的程序。其需按照普遍认可的风格来编写,且需要彻底的测试来确保稳定性和可靠性(依赖于详尽的测试用例库)。此外还需要晚辈的文档。编程系统:在功能上能够相互写作、具有规范的格式、可以进行交互的程序集合,并用来组装和搭建整个系统。其每个程序都要按照要求编制,是的输入输出接...原创 2020-03-10 19:56:05 · 121 阅读 · 0 评论