学习笔记【2010/09/20-2010/11/27】

来源:互联网 发布:高达机师排名 知乎 编辑:程序博客网 时间:2024/05/18 10:30

gdb

list 24,65 显示24-65行代码
list 24    显示24附近10行代码
list *1000 显示1000地址附近10行代码
list       显示当前行后面的源程序。
list -     显示当前行前面的源程序。
list ,24   显示当前行到24行代码。
list +20   往后显示20源代码。
list +20   往前显示20源代码。
set listsize <count>    设置一次显示源代码的行数。
show listsize           查看当前listsize的设置。
set args -l /test       再run命令之前设置运行参数。
b XXX XXX可以是行数或函数名  设置断点
c 表示继续运行
finish 表示结束执行本次函数。
n 表示next 继续下一步。
s 表示step 如果在函数出,则表示进入函数,如果不在则和next意义相同。
bt 查看栈情况。
p 打印某个变量
x 显示内存值  

调试core文件。
gdb a.out --core=core

指定源文件的路径
某些时候,用-g编译过后的执行程序中只是包括了源文件的名字,没有路径名。GDB提供了可以让你指定源文件的路径的命令,以便GDB进行搜索。
directory <dirname ... >
dir <dirname ... >
加一个源文件路径到当前路径的前面。如果你要指定多个路径,UNIX下你可以使用“:”,Windows下你可以使用“;”。
directory   清除所有的自定义的源文件搜索路径信息。
show directories    显示定义了的源文件搜索路径。

源代码的内存
你可以使用info line命令来查看源代码在内存中的地址。info line后面可以跟“行号”,“函数名”,“文件名:行号”,“文件名:函数名”,这个命令会打印出所指定的源码在运行时的内存地址,如:
(gdb) info line tst.c:func
Line 5 of "tst.c" starts at address 0x8048456 <func+6> and ends at 0x804845d <func+13>.

还有一个命令(disassemble)你可以查看源程序的当前执行时的机器码,这个命令会把目前内存中的指令dump出来。

 

ip命令修改网卡逻辑号
ip link set dev <OLD_NAME> name <NEW_NAME>

virbr0 虚拟网卡卸载方法
http://wscyza.blog.51cto.com/898495/286615

xen网络结构
http://wiki.xensource.com/xenwiki/XenNetworking

/etc/xen/scripts/network-bridge stop
modprobe.conf,hwconf,ifcfg
lsmod|grep e1000e
modprobe e1000e
alias eth0 e1000e

ethtool
http://www.cublog.cn/u2/71257/showart_1001540.html

ethtool ethX      //查询ethX网口基本设置
ethtool –h        //显示ethtool的命令帮助(help)
ethtool –i ethX    //查询ethX网口的相关信息
ethtool –d ethX    //查询ethX网口注册性信息
ethtool –r ethX    //重置ethX网口到自适应模式
ethtool –S ethX    //查询ethX网口收发包统计
ethtool –s ethX [speed 10|100|1000]/         //设置网口速率10/100/1000M
[duplex half|full]/           //设置网口半/全双工
[autoneg on|off]/            //设置网口是否自协商
[port tp|aui|bnc|mii]/         //设置网口类型

/etc/rc.d/rc.inet1.conf
dmesg|grep eth0
uname -a
/etc/udev/rules.d


卸载rmmod 驱动名
redhat
http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5.2/html/Deployment_Guide/s2-sysconfig-i18n.html


ssh vim 配色
export TERM=dtterm
下载.vimrc(:syntax enable)

http://code.google.com/p/vimcolorschemetest/

 

ethtool :
http://www.cublog.cn/u2/71257/showart_1001540.html

 

corefile:

echo "/corefile/core-%e-%p-%t" > core_pattern
proc/sys/kernel/core_pattern

core位置
http://dev.firnow.com/course/6_system/linux/Linuxjs/20090308/159805.html


ip命令修改网卡逻辑号
ip link set dev <OLD_NAME> name <NEW_NAME>

virbr0 虚拟网卡卸载方法
http://wscyza.blog.51cto.com/898495/286615

xen网络结构
http://wiki.xensource.com/xenwiki/XenNetworking


卸载rmmod 驱动名
redhat
http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5.2/html/Deployment_Guide/s2-sysconfig-i18n.html

vim 配色
1:export TERM=dtterm

2:从网络中找个写好的.vimrc (:syntax enable)

chroot
# mount /dev/hda3 /mnt/gentoo
# mount /dev/hda1 /mnt/gentoo/boot
# mount -t proc none /mnt/gentoo/proc
# mount -o bind /dev /mnt/gentoo/dev

字节对齐:
http://blog.chinaunix.net/u3/98822/showart.php?id=2335795
  
这里面有四个概念值:

  1.数据类型自身的对齐值:就是上面交代的基本数据类型的自身对齐值。

  2.指定对齐值:#progma pack (value)时的指定对齐值value。

  3.结构体或者类的自身对齐值:其成员中自身对齐值最大的那个值。

  4.数据成员、结构体和类的有效对齐值:自身对齐值和指定对齐值中小的那个值。


locate命令更新缓存。
updatedb
locate XXXX

 

删除rpm数据库
rm -f /var/lib/rpm/__db*
rpm --rebuilddb

 

网卡错误
1、首先确认MAC所对应的是那块网卡。
2、贴出/etc/sysconfig/hwconf     /etc/modprobe.conf文件的内容。
3、贴出ls /etc/sysconfig/network-script的内容。

 

重命名数据库
rename table A to B

清空表
delete from MYTABLE

更改auto_increment
alter table tablename auto_increment=1;

删除主键
alter table tablename drop primary key;

增加auto_increment
alter table tablename add id int(11) not null auto_increment primary key;

修改auto_increment
alter table tablename auto_increment=1;

修改表名
alter table oldtable rename newtable;

修改表列名
alter table tablename change columnname columnname int(11) auto_increment;

增加主键
alter table tablename add primary key (dnid,languae);

插入数据
insert into table A(first,third) values ('test','test');

更新数据
update table A set first = '1';

加用户
grant all privileges on *.* to 'username'@'%' identified by 'xxx';
flush privileges;

 

cannot restore segment prot after reloc: Permission denied
是SELinux原因,解决办法有两个
1. 使用chcon 命令
示例: chcon -t texrel_shlib_t /usr/local/rsi/idl_6.1/bin/bin.linux.x86/*.so
2. 禁止掉SELinux
更改/etc/sysconfig/selinux 文件的内容为 SELINUX=disabled