回顾复习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函数的源代码部分。

相关推荐
Future_yzx14 小时前
Mybatis中使用MySql触发器报错:You have an error in your SQL syntax; ‘DELIMITER $$
adb
牵牛老人2 天前
Qt调用adb对嵌入式设备的配置文件进行修改,写入多行内容
数据库·qt·adb
LuckyTHP2 天前
蓝叠模拟器adb连接并配置网络代理
网络·adb
Epiphanywh3 天前
Ubuntu 20.04 卸载和安装 MySQL8.0
linux·ubuntu·adb
木子欢儿3 天前
Windows Server 2019 配置PHP环境(图文教程)
开发语言·windows·adb·php
会飞的爱迪生4 天前
mysql优化
android·mysql·adb
云计算老王4 天前
MySQL 数据类型
android·mysql·adb
Crime_man5 天前
Ubuntu系统安装MySQL
mysql·ubuntu·adb
Cai。。5 天前
mysql免安装版配置教程
数据库·mysql·adb
软件测试慧姐5 天前
用adb命令给APP做压力测试,有什么不同?
软件测试·测试工具·adb·面试·压力测试