多线程调试
摘要:多线程调试必杀技 - GDB的non-stop模式作者:破砂锅开源的GDB被广泛使用在Linux、OSX、Unix和各种嵌入式系统(例如手机),这次它又带给我们一个惊喜。多线程调试之痛调 试器(如VS2008和老版GDB)往往只支持all-stop模式,调试多线程程序时,如果某个线程断在一个断点上,你的调试器会让整个程序 freeze,直到你continue这个线程,程序中的其他线程才会继续运行。这个限制使得被调试的程序不能够像真实环境中那样运行--当某个线程断在 一个断点上,让其他线程并行运行。GDBv7.0引入的non-stop模式使得这个问题迎刃而解。在这个模式下,当某个或多个线程断在一
阅读全文
posted @
2013-12-31 10:56
Stephen_init
阅读(460)
推荐(0)
GDB调试增强篇
摘要:GDB中应该知道的几个调试方法七、八年前写过一篇《用GDB调试程序》, 于是,从那以后,很多朋友在MSN上以及给我发邮件询问我关于GDB的问题,一直到今天,还有人在问GDB的相关问题。这么多年来,有一些问题是大家反复 在问的,一方面,我觉得我以前的文章可能没有说清楚,另一方面,我觉得大家常问的问题正是最有用的,所以,在这里罗列出来。希望大家补充。一、多线程调试多线程调试可能是问得最多的。其实,重要就是下面几个命令:info thread 查看当前进程的线程。thread 切换调试的线程为指定ID的线程。break file.c:100 thread all 在file.c文件第100行处为所.
阅读全文
posted @
2013-12-31 10:50
Stephen_init
阅读(447)
推荐(0)
GDB调试
摘要:GDB概述————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一般来说,GDB主要帮忙你完成下面四个方面的功能: 1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。 2、可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式) 3、当程序被停住时,可以检查此时你的程序中所发生的事。 4、动态的改变你程序的执行环境。从上面看来,GDB和一般的
阅读全文
posted @
2013-12-31 10:45
Stephen_init
阅读(402)
推荐(0)
Linux core 文件浅析
摘要:浅析Linux下core文件 当我们的程序崩溃时,内核有可能把该程序当前内存映射到core文件里,方便程序员找到程序出现问题的地方。最常出 现的,几乎所有C程序员都出现过的错误就是“段错误”了。也是最难查出问题原因的一个错误。下面我们就针对“段错误”来分析core文件的产生、以及我们 如何利用core文件找到出现崩溃的地方。何谓core文件当一个程序崩溃时,在进程当前工作目录的core文件中复制了该进程的存储图像。core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的。当程序接收到以下UNIX信号会产生core文件:名字说明ANSI C POSIX.1SVR4 4.3+BSD缺省
阅读全文
posted @
2013-12-31 10:15
Stephen_init
阅读(565)
推荐(0)
《转》谈谈基于Kerberos的Windows Network Authentication
摘要:http://www.cnblogs.com/artech/archive/2007/07/05/807492.html基本原理引入Key Distribution: KServer-Client从何而来引入Authenticator : 为有效的证明自己提供证据引入Ticket Granting Service:如何获得TicketKerberos的3个Sub-protocol:整个Authentication的流程User2User Protocol: 有效地保障Server的安全Kerberos的优点的优点前几天在给人解释Windows是如何通过Kerberos进行Authenticat
阅读全文
posted @
2013-12-30 14:44
Stephen_init
阅读(149)
推荐(0)
Kerberos认证
摘要:http://www.cnblogs.com/artech/archive/2011/01/24/kerberos.html最近一段时间都在折腾安全(Security)方面的东西,比如Windows认证、非对称加密、数字证书、数字签名、TLS/SSL、WS- Security等。如果时间允许,我很乐意写一系列的文章与广大网友分享、交流。对于很多读者来说,今天讨论的可能是一个既熟悉、又陌生的话题—— Windows认证。目录 一、Kerberos认证简介 二、如何获得“认购权证”? 三、如何通过“认购权证”购买“入场券”? 四、凭票入场 一、Kerberos认...
阅读全文
posted @
2013-12-30 14:40
Stephen_init
阅读(634)
推荐(0)
NTLM验证过程
摘要:中我们介绍Kerberos认证的整个流程。在允许的环境下,Kerberos是首选的认证方式。在这之前,Windows主要采用另一种认证协议 ——NTLM(NT Lan Manager)。NTLM使用在Windows NT和Windows 2000 Server(or later)工作组环境中(Kerberos用在域模式下)。在AD域环境中,如果需要认证Windows NT系统,也必须采用NTLM。较之Kerberos,基于NTLM的认证过程要简单很多。NTLM采用一种质询/应答(Challenge /Response)消息交换模式,右图反映了Windows2000下整个NTLM认证流程。步骤一
阅读全文
posted @
2013-12-30 13:58
Stephen_init
阅读(2587)
推荐(0)
setsockopt()用法及参数详解
摘要:setsockopt()用法(参数详细说明) int setsockopt(SOCKET s,int level,int optname,const char* optval,int optlen);s(套接字): 指向一个打开的套接口描述字level:(级别): 指定选项代码的类型。SOL_SOCKET: 基本套接口IPPROTO_IP: IPv4套接口IPPROTO_IPV6: IPv6套接口IPPROTO_TCP: TCP套接口optname(选项名): 选项名称optval(选项值): 是一个指向变量的指针 类型:整形,套接口结构, 其他结构类型:linger{}, timeval{.
阅读全文
posted @
2013-12-26 13:37
Stephen_init
阅读(3288)
推荐(0)
set env export区别
摘要:set env export区别 set,env和export这三个命令都可以用来显示shell变量,区别[root@localhost root]# aaa=bbb[root@localhost root]# echo $aaabbb[root@localhost root]# set |grep aaaaaa=bbb[root@localhost root]# env |grep aaa[root@localhost root]# export aaa[root@localhost root]# env |grep aaaaaa=bbb set 显示当前shell的变量,包括当前用户的变量
阅读全文
posted @
2013-12-26 11:58
Stephen_init
阅读(434)
推荐(0)
Wireshark基本使用(1)
摘要:原文出处: EMC中文支持论坛按照国际惯例,从最基本的说起。抓取报文:下载和安装好Wireshark之后,启动Wireshark并且在接口列表中选择接口名,然后开始在此接口上抓包。例如,如果想要在无线网络上抓取流量,点击无线接口。点击Capture Options可以配置高级属性,但现在无此必要。点...
阅读全文
posted @
2013-12-19 21:53
Stephen_init
阅读(331)
推荐(0)
shell 调试
摘要:检查语法-n选项只做语法检查,而不执行脚本。sh -n script_name.sh启动调试sh -x script_name.sh进入调试模式后,Shell依次执行读入的语句,产生的输出中有的带加号,有的不带,如下。带加号表示该条语句是Shell执行的。不带加号表示该语句是Shell产生的输出。+ array=(1 2 3 4 5)+ for i in '${array[*]}'+ echo 11中断调试在调试过程中可以按Ctrl + Z中断调试,观察结果,然后再按fg键继续调试即可。调试代码块上面的-x选项是调试整个脚本的,如果脚本很大,会很不方便,还有一种方法是调试某一块
阅读全文
posted @
2013-12-17 16:55
Stephen_init
阅读(349)
推荐(0)
<转>android 解析json数据格式
摘要:json数据格式解析我自己分为两种;一种是普通的,一种是带有数组形式的;普通形式的:服务器端返回的json数据格式如下:{"userbean":{"Uid":"100196","Showname":"\u75af\u72c2\u7684\u7334\u5b50","Avtar":null,"State":1}}分析代码如下://TODO状态处理500200intres=0;res=httpClient.execute(httpPost).getStatus
阅读全文
posted @
2013-12-17 09:53
Stephen_init
阅读(240)
推荐(0)
<转>Android多线程总结
摘要:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://yuchen.blog.51cto.com/2739238/593019——Android中高级技术免费培训QQ群(118949422)第三期专题培训本期的多线程主题与Android相关,侧重讲解在Android中如何用好多线程,需要你有Java的多线程基础。首先我们思考几个问题,在Android应用中为什么要用多线程?为了解决哪些问题?或者为了实现哪些功能?有哪些好处?请先思考一分钟,再继续往下看。学习而不思考就像吃东西而不嚼,要么无法下咽,要么尝不出味道,同时都会影响消化吸
阅读全文
posted @
2013-12-15 14:53
Stephen_init
阅读(225)
推荐(0)
《转》程序人生的四个象限和两条主线
摘要:http://ftqq.com/2013/12/coding-life/
阅读全文
posted @
2013-12-13 12:49
Stephen_init
阅读(108)
推荐(0)