QT调试动态库

dts/ 三月 28, 2019/ C/C++, 代码编译/ 0评论

QT直接调试时,发现在动态库中打的断点无效,提示找不到动态库

设置动态库路径即可正常调试

设置位置:选项 ——> 调试器 ——> GDB ——> 额外的启动命令,添加set solib-search-path library_path ,将 library_path 替换为你要调试的动态库路径。如图。

然后设置为使用完整路径,之后即可。如图

对于在远程设备上调试时,可以使用源码路径映射,将本地的源码与远程的动态库相关联,从而远程调试动态库。如果远程动态库不在PATH下,也需要设置动态库路径。

pthread_create导致的内存泄漏

dts/ 三月 28, 2019/ BUG, linux/ 0评论

pthread_create默认创建的线程是非分离状态,线程退出后不会主动释放资源,需要等到join后才会释放。

实际使用中可以将线程的属性设置为分离状态,即退出就释放资源。

例如:

void run() { 
    return;
} 
                                                                                                       
int main(){ 
    pthread_t thread; 
    pthread_attr_t attr;[......]

阅读全文

Linux sh执行结果作为文本继续

dts/ 三月 5, 2019/ linux/ 0评论

可以使用反引号`来实现。
反引号“是命令替换,命令替换是指Shell可以先执行“中的命令,将输出结果暂时保存,在适当的地方输出。

注意:是反引号`,不是单引号’。反引号的键盘位置在ESC下方。

例如:

touch file
echo `md5sum file` > file.md5
cat file.md5

执行结果:

d41d8cd98f00b204e9800998ecf8427e file

ssr服务器端一键安装脚本

dts/ 一月 21, 2019/ linux, 服务器, 网络/ 0评论

作备份用,如果这个归档挂掉了,可以改参数到其他的归档。

wget --no-check-certificate -O shadowsocks-all.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-all.sh
chmod +x shadowsocks-all.sh
./shadowsocks-all.sh 2>&1 | tee shadowsocks-all.log

Linux创建swap

dts/ 一月 21, 2019/ linux/ 0评论

以下命令都需要root权限

#/swapfile为想要作为swap的文件,bs为块大小,count为块个数,此处为1024000*1024=1024000KB=1000MB
touch /swapfile
dd if=/dev/zero of=/swapfile bs=1024 count=1024000
#制作swap文件
mkswap /swapfile
#开始使用swap文件
swapon /swapfile

接下来修改/etc/fstab,加入如下一行,使这块swap在重启后仍然有效。

/swapfile    none    swap    sw    0 0

[……]

阅读全文

1月20日停机原因

dts/ 一月 21, 2019/ 未分类/ 0评论

19日下午,删除服务器时误操作,删除了原来的云服务器。故网站停机一天。

以后注意,生产环境和测试环境要隔离,实际运行网站和开测试服务器不要用同一个云服务器账号。

cent os 7关闭防火墙

dts/ 一月 21, 2019/ linux, socket/ 0评论

centos 7中关闭防火墙后才可以被访问,以及建立socket连接等。

如果不关闭,会导致socket连接时,报错connect: No route to host。

systemctl stop firewalld.service

小米手机取消全盘加密

dts/ 一月 6, 2019/ android/ 0评论

对于小米等国产手机,默认会在第一次初始化时对data分区进行全盘加密,并且无法在系统内取消加密。加密后的data分区无法在第三方recovery中查看内容,为了取消掉这个加密,一般有两种解决方案。

1.在第一次启动之前,修改/etc/fstab将其中的强制加密(forceencrypt)替换为可选加密(encryptable)。也可以使用修改了fstab.qcom的

2.部分第三方recovery自带解密功能(或格式化data分区),但需要恢复出厂设置。