SQLite源代码编译调试

1.在msys上编译本文介绍的是windows平台,所以首先要安装msys2环境,这里就不细说了,具体可以参考下面这篇文章:https://blog.csdn.net/qiuzhiqian1990/article/details/56671839一开始要下载源代码,官网地址如下https://www.sqlite.org/download.html选择包含全部源文件的版本,11.93M的...
分类: 其他 发布时间: 02-26 08:42 阅读次数: 0

eclispe设置断点无效(No source file named)

最近不知道做了什么操作导致eclipse的断点无效,表现为gdb只认相对路径的断点,不认绝对路径,而eclipse打断点使用的是绝对路径,导致无效,输出信息是:No source file named默认情况下是不存在这个问题的,不知道怎么恢复成默认,但有一种有效的解决方法:Debug->Debug Configuration->Source->Add->Path-&...
分类: 其他 发布时间: 02-26 08:42 阅读次数: 0

windows下编译gdb源码

在学习编译gdb的过程中,一定要和本文出现的各软件版本保持一致,否则很容易因为版本的原因出现一些奇怪的问题。1.搭建msys2环境在win下编译gdb首先要搭建msys2的开发环境,先从官网下载msys2-i686-20190524.exehttps://www.msys2.org/官网以后会更新版本,为了和本文写的版本保持一致,最好在清华镜像站找到msys2-i686-20190524....
分类: 其他 发布时间: 02-26 08:42 阅读次数: 0

fossil源码编译

fossil是一个类似git的版本控制工具,是由SQLite作者写的,代码的水平应该比较高,fossil还提供了web展示的功能,支持http接口,综合性比较强,对于c语言程序员来说也可以初步了解一些前端和后端的知识,比较有学习价值。1.源码下载学习代码最好的方式当然是自己编译并调试,我是基于msys2开发环境。首先到官网下载发布的版本,选择Source Tarball下载http://w...
分类: 其他 发布时间: 02-26 08:42 阅读次数: 0

前端调试入门的一些记录

关于Http请求header之Referer讲解https://www.jianshu.com/p/1a6abab212ed谷歌浏览器开发调试工具中Sources面板 js调试等 完全介绍https://blog.csdn.net/c15158032319/article/details/79716877
分类: 其他 发布时间: 02-26 08:42 阅读次数: 0

SQLite源码学习(36) Btree杂记

1.在newDatabase函数中写入数据库头100字节时为什么不会把原来的覆盖掉关键代码如下: if( pBt->nPage>0 ){ return SQLITE_OK; }只有在数据库为空的时候才写入,不为空的时候直接返回了,不会往下执行。...
分类: 其他 发布时间: 02-26 08:42 阅读次数: 0

基于msys2的tcl源码构建

我是从github下的tcl-core-9-0-a1版本,解压后进入源码目录,执行以下命令mkdir bldcd bld../unix/configure make -j12出现如下错误/d/tcl-core-9-0-a1/generic/tclCmdAH.c:2151:63: 错误:‘Tcl_StatBuf’ {或称 ‘struct <匿名>’}没有名为‘st_blocks’的成员 2151 | STORE_ARY("blocks", Tcl_NewWideIntObj
分类: 其他 发布时间: 02-26 08:42 阅读次数: 0

SQLite源码学习(37) 页面格式

1.第一个cell的内容是怎么写进去的
分类: 其他 发布时间: 02-26 08:42 阅读次数: 0

gtx1060的cuda9.1安装记录

先安装vs2017,2个关键地方要勾选一下,其他参考网上的教程把电脑上显卡驱动还有所有nvidia的相关软件都卸载了,然后去https://developer.nvidia.com/cuda-toolkit-archive下载9.1的版本安装时选择精简安装,其他一切默认...
分类: 其他 发布时间: 02-26 08:42 阅读次数: 0

cuda和gpu的基本概念整理

SP(streaming Processor)是gpu最基本的硬件单元,俗称cuda核心(类似于cpu的一个核),多个sp组成一个SM(Streaming Multiprocessor),我的gtx 1060显卡是1920核心的,10个sm,每个sm有128个spCUDA中grid、block、thread、warp与SM、SP的关系https://blog.csdn.net/wvh2007/article/details/49891363CUDA 核函数运行参数https://blog.csdn.
分类: 其他 发布时间: 02-26 08:42 阅读次数: 0

虚拟机建立samba服务

vmware使用nat模式启动,在vmware的虚拟网络编辑器的nat的vmnet8网络设置网关地址,在控制面板网络适配器页面设置vmnet8的ip地址,虚拟机启动后,用fconfig确认Ubuntu的ip地址为nat所在网段改了之后的IPubuntu:192.168.23.128vmnet8网关:192.168.23.1vmnet8 ip:192.168.23.5主机ip:192.168.1.10然后192.168.1.10和192.168.23.128可以互ping参考下面这篇文章htt
分类: 其他 发布时间: 02-26 08:42 阅读次数: 0

uftrace关键代码记录

uftrace是一个跟踪程序的函数调用记录的一个工具,代码见https://github.com/namhyung/uftrace参数解析使用的argp,我把glibc里的argp模块单独提取出来了,见argp模块参数解析完会执行各种命令 switch (opts.mode) { case UFTRACE_MODE_RECORD: ret = command_record(argc, argv, &opts); break; case UFTRACE_MODE_REPLAY:
分类: 其他 发布时间: 02-26 08:42 阅读次数: 0

搭建msys2基础开发平台

1.环境搭建最近msys2的软件源进行了更新,一些低版本的软件都没有了,gcc只有9.3以上版本,gdb只有9.1以上版本,没有低版本,那以后只能跟着软件源的最新版本走了,如果碰到软件依赖版本不兼容将会是一个非常棘手的问题,而且gcc和gdb正在狂热的将c代码都替换为c++,但是我本人不太喜欢c++,所以尝试搭建一个不依赖软件源的平台。清华和腾讯开源镜像都已经随着官方的源更新了,幸好华为和浙大的镜像还没更新,但是迟早也会更新的,所以在他们更新之前赶紧把这个事情做了。基础安装包,我用的是msys2-ba
分类: 其他 发布时间: 02-26 08:42 阅读次数: 0

SQLite源码学习(38) 对表的一些处理

1.删除后进入balance()删除的记录在表的第2页,但是进入balance()函数后,为什么pCur->iPage是0?sqlite3BtreeFirst—>moveToRoot
分类: 其他 发布时间: 02-26 08:42 阅读次数: 0

SQLite源码学习(39) balance的一些准备工作

1.balacne的第一个判断条件if( pPage->nOverflow==0 && pPage->nFree<=nMin )pPage->nOverflow表示btree节点满了,需要分裂,pPage->nFree<=nMin
分类: 其他 发布时间: 02-26 08:42 阅读次数: 0

SQLite源码学习(40) balance初步分析

主要分析balance_nonroot()函数里的代码1.iParentIdx和nxDiv的作用iParentIdx的来源是iIdx = pCur->aiIdx[iPage-1];在btree中查找叶子结点是从根结点开始一层层往下,iParentIdx就是查找到当前结点时,父结点对应第几个cell当孩子结点分裂成2半时,需要把一个cell移到父结点,这个cell对应的偏移地址由nxDiv决定,对应的代码如下 int nxDiv; /* Next di
分类: 其他 发布时间: 02-26 08:42 阅读次数: 0

gdb源码中的print命令实现

源码的搭建环境可以参考下面这篇文章windows下编译gdb源码首先随便写了个测试程序 int c = 51115; int b[10] = {0}; int *p = malloc(40); sprintf(b,"%p",p); c +=b[0]&0xff; //随便赋一个非常量值,如果是常量的话编译时就直接算好写到PE文件里了 printf("%d\n",c); //这里是86行,打印出来是51163gdb脚本如下,文件名是sdx.txt,执行时加上-comman
分类: 其他 发布时间: 02-26 08:42 阅读次数: 0

gobject调试环境搭建

1 初步使用新建个工程,把下面这个demo里的3个文件拷贝到src目录https://github.com/zorgnax/gobject-examples/tree/master/01-media-from-book编写Makefile# 请自行新建一个bld文件夹OBJ_DIR = ../bld# 获取所以源文件 SRC = cleanable.c media.c# 把.c后缀替换为.o,并加上目录 OBJ = ${patsubst %.c, ${OBJ_DIR
分类: 其他 发布时间: 02-26 08:42 阅读次数: 0

大数据技术之Spark基础解析

大数据技术之Spark基础解析第1章 Spark概述1.1什么是Spark1.2Spark内置模块Spark Core:实现了Spark的基本功能,包含任务调度、内存管理、错误恢复、与存储系统交互等模块。Spark Core中还包含了对弹性分布式数据集(Resilient Distributed DataSet,简称RDD)的API定义。Spark SQL:是Spark用来操作结构化数据...
分类: 其他 发布时间: 02-26 08:42 阅读次数: 0

mysql 插入中文字段报错 "Incorrect string value: '\\xE6\\xB5\\x8B\\xE8\\xAF\\x95...' for column 'title' at ro

MySQL中默认字符集的设置有四级:服务器级,数据库级,表级,字段级 ,最终是字段级的字符集设置。注意前三种均为默认设置,并不代表你的字段最终会使用这个字符集设置。所以我们建议要用show create table table ; 或show full fields from tableName; 来检查当前表中字段的字符集设置。查看database或一个table的编码show cr...
分类: 其他 发布时间: 02-26 08:42 阅读次数: 0