lldb调试器调试多进程 vscode&lldb 环境下的多进程调试vscode目前不支持使用lldb作为调试器的c++项目的多进程调试,gdb可以在launch.json中修改setupcommand来达到调试所有进程的目的,但是lldb不行,即使修改setupcommand也不能在子进程中设置断点并调试 vscode的codelldb插件支持command prompt命令可以在命令行中操作lldb,此时可 2023-11-28
systemd/journald - archLinux下的系统服务管理 systemdSystemd 是 Linux 系统工具,用来启动守护进程,已成为大多数发行版的标准配置。systemd 是一个 Linux 系统基础组件的集合,提供了一个系统和服务管理器,运行为 PID 1 并负责启动其它程序。功能包括:支持并行化任务;同时采用 socket 式与 D-Bus 总线式启用服务;按需启动守护进程(daemon);利用 Linux 的 cgroups 监视进程;支持快 2023-11-26 GNU/linux #linux #journal
linux /proc文件夹下保存内核参数的各文件 etc 文件名 对应内容 resolve.conf 存储DNS服务器域名 host.conf 域名如何处理 hosts ip到域名的本地缓存映射 proc 文件名 对应内容 /proc/sys/net/ipv4/tcp_rmem tcp内核接收缓冲区 /proc/sys/net 2023-11-25
多线程之间的同步 1. 多线程同步 1.1. 互斥锁pthread_mutex 1.1.1. 多线程程序中调用fork 条件变量pthread_cond 1.2. 多线程信号处理 1. 多线程同步1.1. 互斥锁pthread_mutex1.1.1. 多线程程序中调用fork 父进程使用fork()创建出的子进程会继承互斥锁的状态,所以如果父进程是多线程并且有一个线程锁住了mutex,则子进程创建时也会 2023-11-19 GNU/linux #linux #POSIX thread
pacman - archlinu环境下的包管理程序 上次使用pacman -Syu更新软件包后自动安装了开源版本的vscode,导致终端里使用code命令无法打开windows host中的官方版本vscode,今日卸载archlinux环境下安装的vscode,并使用pacman衍生的makepkg手动安装AUR库中的官方版本vscode,将一些心得和经验记录于下: pacman官方文档 软件包基础搜索及安装卸载$ pacman -Ss 软件名 2023-11-16 GNU/linux #linux #package management
读effective_modern_cpp有感 1. c++知识点补充 1.1. 杂项 1.2. c++异常处理 1.3. emplace_back置入函数 vs push_back插入函数 1.3.1. 不同点 1.3.2. 相同点 1.4. 智能指针 1.4.1. make_shared & make_unique 1.5. 特殊成员函数的生成 1.6. volatile vs atomic 1.6.1. std::ato 2023-11-06 cpp related #smart-pointer
linux高性能服务器的搭建 IO模型 阻塞IO和非阻塞IO的区别就在于对非就绪事件的处理, 对于设置了O_NONBLOCK的文件描述符来说,若此时文件描述符非可读或者可写,针对其进行的系统调用会返回-1,设置errno,而对未设置的文件描述符的connect,recv,send会阻塞进程 管道pipe是环形缓冲区 O_NONBLOCK对一般文件而言没有什么影响,所有一般文件都是可读或者可写的,它主要用来在fcntl时设置 2023-11-03 GNU/linux #linux #POSIX system call #filesystem
linux/cmake 常用命令 Linux 命令 valgrind 调试工具 系统监测工具 cmake cmake具体流程 cmake commands Linux 命令 ldconfig创建所需的链接并缓存到标准库目录中找到的最新共享库. ldd filename显示特定Linux命令需要运行的共享对象文件。 file filename展示文件属性 set当前终端进程的shell variable,不会遗传给子进程 2023-09-30 GNU/linux #linux #cmake
符合c++14标准的网络和高并发编程 1. 网络编程 1.1. 字符串处理函数 1.2. IO模型 1.3. IO复用 2. pthread - 符合POSIX标准的线程库 2.1. 线程的取消 2.2. 线程的加入 2.3. 一些关于编程的底层知识补充 3. 并发编程 3.1. std::thread 3.2. std::future 3.3. condition_variable & mutex 3.4. loc 2023-09-19 cpp related #linux #POSIX socket #c11/14 thread/future
grpc笔记 什么是.proto文件protocol buf是适应grpc框架的IDL(Interface descripition language)语言,使用其编写的文件后缀为.proto 如何编译.proto文件 使用protoc编译器 protoc编译器是专门用来将proto文件转化为c++动态库的编译器,它将每个proto文件转化为后缀为.pb.h的头文件和后缀为.pb.cc的实现文件 protoc编 2023-08-26 cpp related