前言:本来小表驱动大表的知识应该在前面就讲解的,但是由于之前并没有学习数据批量插入,因此将其放在这里.在查询的优化中永远小表驱动大表. 1.为什么要小表驱动大表呢 类似循环嵌套 for(int i=5;.......) { for(int j=1000;......) {} } 如果小的循环在外层,对于数据库连接来说就只连接5次,进行5000次操作,如果1000在外,则需要进行1000次数据库连接,从而浪费资源,增加消耗.这就是为什么要小表驱动大表. 2.数据准备 根据MySQL高级知识(十)—…
第十八章 调试 0.总结 oops 内核的调试配置 用Git进行二分搜索 bug总会有,简洁描述发给LKML 1. 准备开始 在用户级的程序里,bug表现比较直接:在内核中却不清晰. 2. 内核中的bug 多种多样.变化多端. 引用空指针会产生一个oops:垃圾数据会导致系统崩溃. 定时限制和竞争条件都允许多个线程在内核中同时运行产生的结果. 3. 通过打印来调试 3.1 健壮性 printk()函数任何时候地方都可以调用它. 3.2 日志等级 printk()可以指定一个日志级别[与print…
我编写了一个循环: long i;    for (i = 0; i < 999999; i++) {        mt.a += 1;        sleep(1);    }把它编译成a.out,并在后台执行它:./a.out & [1] 2570 然后用命令gdb ./a.out 2570可以附加到这个进程上.被时进程会中断. 或者在GDB里输入attach 2570同样可以附加到进程. 输入bt来查看栈 (gdb) bt#0  0x008e9416 in __kernel_vsy…
内核调试的难点在于它不能像用户态程序调试那样打断点,随时暂停查看各个变量的状态. 也不能像用户态程序那样崩溃后迅速的重启,恢复初始状态. 用户态程序和内核交互,用户态程序的各种状态,错误等可以由内核来捕获并显示. 而内核是直接和硬件交互的,内核出错之后整个系统就无法正常运行了,所以要想熟练的进行内核调试, 首先要熟悉内核已经给我们提供的工具,然后实实在在的去做一些内核功能的开发,在开发的过程中不断熟悉内核代码,增加内核调试的经验. 主要内容: 内核调试的难点 内核调试的工具和方法 总结 1. 内…
Win32堆的调试支持 为了帮助程序员及时发现堆中的问题,堆管理器提供了以下功能来辅助调试. 1:堆尾检查(Heap Tail Check) HTC,在堆尾添加额外的标记信息,用于检测堆块是否溢出. 2:释放检查(Heap Free Check)在释放堆块时进行检查,防止释放同一个堆块. 3:参数检查,对传递给堆的各种参数进行更多的检查. 4:调用时验证(Heap Validate On Call)HVC,每次调用堆函数时都对整个堆进行验证和检查. 5:堆块标记(Heap Tagging)为堆块…
IDEA调试总结(设置断点进行调试) 黑背景版: 先编译好要调试的程序.1.设置断点…
1.检测ida远程调试所占的常用端口23946,是否被占用 //检测idaserver是否占用了23946端口 void CheckPort23946ByTcp() { FILE* pfile=NULL; char buf[0x1000]={0}; //执行命令 char* strCatTcp="cat /proc/net/tcp | grep :5D8A"; //char* strNetstat="netstat -apn | grep :23946" pfile…
1.重启(无用) 2.关闭防火墙(无用) 3.开启文件与打印机共享(无用) 4.无远程调试权限,改为本地调试.或者是IIS中此项目没有启动.或者没有在IIS中新建此项目.…
tomcat远程调试: 1.Linux中配置tomcat在catalina.sh中添加如下CATALINA_OPTS="-Xdebug  -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"(不要换行,要在同一行) 2.Window中修改 catalina,bat文件,添加: Set  "CATALINA_OPTS=-Xdebug  -Xrunjdwp:transport=dt_socket,addres…
 1. 按如下方式设置系统配置文件值: 系统配置文件值 地点/用户/应用/职责层配置文件值 --汇总 FND: 启用调试日志   是 FND:调试日志层级   陈述 INV: 调试跟踪: 是 INV:调试层级:10 INV:调试文件:/usr/tmp/invdebug.log --详情: INV: 调试跟踪:设为"是",打开调试功能.设为"不"关闭调试功能. INV:  调试层级: 设为0,将打印调试消息汇总.设为10,打印调试消息的详细清单 INV: 调试文件…