C函数在调用return退出时出现段错误的可能原因
发表于
本文字数:
133
阅读时长 ≈
1 分钟
可能性最大的在当前调用函数的文件中未引入头文件,导致截断(有的系统默认指针是 4 个
字节,64 位系统指针是 8 个字节,但是在函数未定义的情况下,系统默认回传 4 个字节的指针,
就会导致指针高 4 位未被回传,系统就会默认会将高 4 位填充成 FFFF,导致指针地址出错),
出现的段错误。
PostgreSQL-bufmmgr
发表于
本文字数:
3.5k
阅读时长 ≈
3 分钟
PostgreSQL-调试initdb
发表于
更新于
本文字数:
237
阅读时长 ≈
1 分钟
1、gdb ./bin/initdb
2、set args -D ./data
3、在initdb.c 中打断点,最好位置设置在initialize_data_directory函数的setup_auth(cmdfd);
4、运行程序 r (run)
5、启动新窗口,查找进程,ps -ux
找到postgres --single -F -O -j -c search_path=pg_catalog -c exit_on_error=true template1
6、在新启动的窗口调试进程 (gdb att procid)
PostgreSQL-并发控制
发表于
更新于
本文字数:
7.1k
阅读时长 ≈
6 分钟
一、事务标识
当事务开始时,事务管理器会为其分配一个事务标识(txid)的唯一标识符。
PostgreSQL有三个特殊txid:
- 0标识无效的txid;
- 1表示初始启动的txid,仅用于数据库集群的初始化过程;
- 2表示冻结的txid。
PostgreSQL-xlog
发表于
本文字数:
5.9k
阅读时长 ≈
5 分钟
一、xlog存储结构
每个XLOG文件有一个ID,一个逻辑上的xlog文件物理上被分割成一个个固定大小的段(默认16MB)。xlog文件号和段号可以唯一确定某个段文件。确定日志文件内的一个日志记录的地址时,只需要xlog文件号和日志记录在该文件内的偏移量即可。
CentOS-7设置命令行显示PS1
发表于
本文字数:
415
阅读时长 ≈
1 分钟
修改当前用户下~/.bashrc
1 | export PS1="\[\e[33;1m\]┌───\[\e[34;1m\][\[\e[31;1m\]\u\[\e[34;1m\]]-\[\e[34;1m\][\[\e[32;1m\]\w\[\e[34;1m\]]\[\e[33;1m\] \t\n\[\e[33;1m\]└────☞\$ \[\e[m\]" |
检查链表的边界条件
发表于
本文字数:
90
阅读时长 ≈
1 分钟
- 如果链表为空时,代码是否能正常工作?
- 如果链表只包含一个结点时,代码是否能正常工作?
- 如果链表只包含两个结点时,代码是否能正常工作?
- 代码逻辑在处理头结点和尾结点的时候,是否能正常工作?
gdb调试堆栈只显示问号
发表于
本文字数:
15
阅读时长 ≈
1 分钟
gdb常用命令
发表于
更新于
本文字数:
411
阅读时长 ≈
1 分钟