- 博客(6)
- 资源 (4)
- 收藏
- 关注
原创 SQLite3源码学习(14) 模拟静态变量
/* ** When SQLITE_OMIT_WSD is defined, it means that the target platform does ** not support Writable Static Data (WSD) such as global and static variables. ** All variables must either be on the s
2018-02-28 12:39:02 541
原创 SQLite3源码学习(13) 底层内存分配器
SQLite的动态内存分配系统提供一个可选的底层内存分配器,在代码里是一个全局变量: sqlite3Config.m 其声明如下: sqlite3_mem_methods m; typedef struct sqlite3_mem_methods sqlite3_mem_methods; struct sqlite3_mem_methods { void *(*xMalloc)(i
2018-02-27 10:25:03 817
原创 SQLite3源码学习(12)动态内存分配分析
SQLite自身实现了一个动态内存分配的子系统,源代码在malloc.c里面,在这个系统里,包含一个可选的底层内存分配器,默认的实现在mem1.c里面,源码里还提供了其他多种实现,甚至应用程序自己也可以实现一个来替换掉默认的内存分配器。 对于SQLite的动态内存分配,官方的一篇详细的文档来介绍: http://blog.csdn.net/zhoudaxia/article/details/8
2018-02-25 23:46:40 1638
原创 函数调用堆栈追踪(2)
在上一篇中介绍的2种方法都是在代码的某个特定的地方查看函数的调用关系,接下来介绍的2个工具可以追踪程序从main函数开始全部执行过的函数。 1.uftrace 1.1安装 工具在github上下载,地址如下: https://github.com/namhyung/uftrace readme里提供了一些简单的示例来说明uftrace的使用,这里主要针对稍复杂点的工程,演示程
2018-02-22 19:28:13 1137
原创 函数调用堆栈追踪(1)
对于一个比较大的工程,函数的调用关系错综复杂,这时候仅仅靠IDE静态查看函数的调用关系已经远远不够,所以为了更好地理解代码,还是有必要去掌握一些方法和工具来跟踪函数的调用堆栈。 一、 设断点 在eclipse里可以设置断点查看函数的堆栈调用情况,这里比较方便的是可以直接定位到上级函数查看变量的值。 二、 使用backtrace backtrace功能可以跟踪函数的
2018-02-21 19:39:38 2414
原创 GDB的初步使用学习
对于一般的设断点、单步运行、查看变量的值和函数调用堆栈等调试使用eclipse就够了。但是有时候想输出大量的调试信息,并对程序做很多跟踪控制,这时候用命令行可能会比IDE更方便一点。而且eclipse是基于GDB的,所以熟悉GDB的使用对eclipse里调试环境的配置也会有一定帮助。 一、 基本命令 这里不打算介绍很多命令,只是介绍一些基本的命令来对GDB有一个基本的认识。 对于
2018-02-19 15:13:19 349
sqlite3编译通过的多文件eclipse工程
2017-11-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人