回顾复习1:

1. Json------API:

json grpjson;
//json.[key]=val;
grpjson["id"] = group.getId();
grpjson["groupname"] = group.getName();
grpjson["groupdesc"] = group.getDesc();

vector<string> userV;
grpjson["users"] = userV;
//序列化json对象
grpjson.dump();
//发送序列化
conn->send(response.dump());

2. MySQL:3306

//初始化数据库
_conn = mysql_init(nullptr);

// 释放数据库连接资源
mysql_close(_conn);

// 连接数据库
MYSQL *p = mysql_real_connect(_conn, server.c_str(), user.c_str(),
                                  password.c_str(), dbname.c_str(), 3306, nullptr, 0);
mysql_query(_conn, "set names gbk");


// 更新操作
mysql_query(sql)

// 查询操作
MYSQL_RES *MySQL::query(string sql)
return mysql_use_result(_conn);

// 获取连接
return _conn;

mysql_init();//初始化
mysql_connect()//连接
mysql_update(sql)//更新
MYSQL_RES *res = mysql_query(sql);//查找
MYSQL_ROW row;//行信息
row = mysql_fetch_row(res)) != nullptr//下一行不为空
mysql_free_result(res);//释放连接

delete from offlinemessage where userid=%d";
select message from offlinemessage where userid = %d";    
sprintf(sql, "insert into offlinemessage values(%d, '%s')", userid, msg.c_str());
update user set state = '%s' where id = %d;

3. Git:

一、基础配置

  1. git config --global user.name "Your Name":设置全局用户名。
  2. git config --global user.email "your_email@example.com":设置全局用户邮箱。

二、初始化仓库

  1. git init:在当前目录创建一个新的 Git 仓库。

三、添加和提交文件

  1. git add <file>:将指定文件添加到暂存区。例如,git add index.html
  2. git add.:将当前目录下的所有修改过的文件添加到暂存区。
  3. git commit -m "Commit message":提交暂存区的文件,并添加提交信息。例如,git commit -m "Added new feature"

四、查看状态和历史

  1. git status:查看当前仓库的状态,显示哪些文件被修改、哪些文件已暂存、哪些文件未被跟踪等。
  2. git log:查看提交历史,显示每个提交的哈希值、作者、日期和提交信息。
  3. git log --oneline:以简洁的方式显示提交历史,每个提交只显示一行信息。
  4. git diff:查看工作区和暂存区之间的差异。
  5. git diff --staged:查看暂存区和上一次提交之间的差异。

五、分支操作

  1. git branch:列出所有分支。
  2. git branch <branch_name>:创建一个新分支。例如,git branch new-feature
  3. git checkout <branch_name>:切换到指定分支。例如,git checkout new-feature
  4. git merge <branch_name>:将指定分支合并到当前分支。例如,在主分支上执行git merge new-feature将把"new-feature"分支合并到主分支。

六、远程仓库操作

  1. git remote add <remote_name> <remote_url>:添加一个远程仓库。例如,git remote add origin https://github.com/your_username/your_repo.git
  2. git push <remote_name> <branch_name>:将本地分支推送到远程仓库。例如,git push origin main将本地的"main"分支推送到名为"origin"的远程仓库。
  3. git pull <remote_name> <branch_name>:从远程仓库拉取最新的更改并合并到当前分支。例如,git pull origin main从"origin"远程仓库的"main"分支拉取更新。
  4. git clone <remote_url>:克隆一个远程仓库到本地。例如,git clone https://github.com/your_username/your_repo.git

七、撤销操作

  1. git reset <file>:取消对指定文件的暂存,将其从暂存区移除并恢复到工作区的未暂存状态。
  2. git reset --hard <commit_hash>:回退到指定的提交,丢弃自该提交之后的所有更改。

八、标签操作

  1. git tag <tag_name>:为当前提交创建一个轻量级标签。
  2. git tag -a <tag_name> -m "Tag message":创建一个带注释的标签,并添加标签信息。
  3. git push <remote_name> <tag_name>:将标签推送到远程仓库。

4. Linux路径查询

find / -name "myfile.txt"
which mycommand 会查找可执行文件 mycommand 的路径
ls | grep myfile.txt 

5. Gcc coru

生成Core文件相关命令(Linux)

ulimit命令查看Core文件大小限制

ulimit -c 返回值是0,代表不允许生成Core文件;

如果是一个数字(如1024),表示Core文件大小被限制为该数字KB)。

临时设置Core文件大小限制

ulimit -c unlimited:这条命令用于在当前终端会话中将Core文件大小限制设置为无限制

这样程序崩溃时就能够生成完整的Core文件。可能会占用大量的磁盘空间

编辑limits.conf文件相关命令(用于永久设置)

使用文本编辑器打开文件

在Linux系统中,可以使用vivim来编辑/etc/security/limits.conf文件。例如,使用vim /etc/security/limits.conf命令打开文件后,就可以在文件中添加或修改Core文件相关的设置行。

GDB调试Core文件相关命令

启动GDB调试Core文件

gdb <可执行文件名> <Core文件名>

例如,gdb myapp core.myapp,这里myapp是可执行程序的名字,core.myapp是生成的Core文件的名字。

查看调用栈信息

bt 命令(backtrace) :在GDB中输入bt,可以打印出程序崩溃时的调用轨迹。这有助于快速定位在哪个函数调用过程中程序出现了问题。

bt full 命令 :除了函数调用栈的信息外,bt full还会显示每个栈帧中局部变量的值,提供更详细的信息来帮助分析崩溃原因。

查看栈帧细节

frame <帧编号>

通过bt命令得到栈帧编号后,可以使用frame <帧编号>来查看特定栈帧的详细信息。例如,frame 2会显示编号为2的栈帧的详细内容,包括该栈帧对应的函数名、参数值、局部变量值等。

查看变量信息

print <变量名>

print my_variable会显示my_variable的值。

查看程序源代码(如果有)

list <行号或函数名>

list my_function会显示my_function函数的源代码部分。

相关推荐
Yang-Never1 天前
ADB->ADB宏控开关控制
adb
LKID体2 天前
mysql的my.cnf配置文件参数说明
数据库·mysql·adb
液态不合群2 天前
Mysql篇-语句执行计划详解(explain)
android·mysql·adb
无名前端小白3 天前
常用Adb 命令
adb
C_eeking4 天前
Ubuntu23.10下解决C语言调用mysql.h问题
c语言·mysql·adb
木古古184 天前
Ubuntu22.04 安装mysql8 无法修改端口及配置的问题 坑啊~~~~
adb
AlbertS4 天前
Windows下使用adb实现在模拟器中ping
android·windows·adb·ping·模拟器
冷白白5 天前
【MySQL】函数
android·数据库·mysql·adb
GOTXX5 天前
【MySQL】ubantu 系统 MySQL的安装与免密码登录的配置
linux·数据库·mysql·adb·ubantu
找藉口是失败者的习惯6 天前
Android adb 指令大全
android·adb