《深入剖析Nginx》一1.4 源码分析工具

1.4 源码分析工具

深入剖析Nginx
对于Windows平台,首选Source Insight1源码阅读工具。该工具功能强大,根据其官方网站的介绍,Source Insight是一款面向项目开发的程序编辑器和代码浏览器,它拥有内置的对C/C++、C#和Java等程序的分析功能。Source Insight能自动分析和动态维护源码工程的符号数据库,并在用户查看代码时显示有用的对应上下文信息。

如果是在Linux平台下,则可以利用Vi2、Taglist3、Cscope4以及Ctag5这几个工具来组合成阅读Nginx源码的环境。它们的组合也许要费一段功夫,但磨刀不误砍柴工,为了更方便快捷地阅读Nginx源码,花这点时间还是比较值得的。

当然,我们还有另外一个更方便简单的选择:Source Navigator6。Source Navigator(Sourcenav)是由Red Hat推出的一款查看和分析源代码的强大图形界面工具,可以与前面介绍的Source Insight相媲美,而且Sourcenav是开源的。除了提供源代码的编辑、查看功能,Sourcenav同时还支持编译器和调试器的集成,因此可以构建成一套完整的IDE开发环境。Sourcenav针对Windows和UNIX/Linux,提供两种版本,在Windows下的版本,解压即可以使用,但是要注意解压路径不能包含空格以及中文字符。图1-1所示是Sourcenav在Ubuntu 8.10平台下的运行界面。

不管是在Windows平台下还是在Linux平台下,搭建一个得心应手的源码阅读环境,是我们阅读源码达到事半功倍效果的有力保证。

时间: 2024-12-27 16:51:45

《深入剖析Nginx》一1.4 源码分析工具的相关文章

《深入剖析Nginx》——1.4 源码分析工具

1.4 源码分析工具 对于Windows平台,首选Source Insight1源码阅读工具.该工具功能强大,根据其官方网站的介绍,Source Insight是一款面向项目开发的程序编辑器和代码浏览器,它拥有内置的对C/C++.C#和Java等程序的分析功能.Source Insight能自动分析和动态维护源码工程的符号数据库,并在用户查看代码时显示有用的对应上下文信息. 如果是在Linux平台下,则可以利用Vi2.Taglist3.Cscope4以及Ctag5这几个工具来组合成阅读Nginx

MSR Tools 0.3.0发布 源码分析工具框架

MSR Tools 0.3.0该版本忽略路径,一个活动的统计页面,更多的发布统计,更多的路径选择器,文件映射,截断的映射命令,一个责任统计命令,一些分布在可视化,可视化插值回归,在配置模式中有许多变化,及其它的一些小幅修正. MSR Tools是源码分析工具的演变,是一个度量计算器.统计生成器以及软件库挖掘框架. 主要特性: * 编程语言无关 * 可从 SubVersion.Git 导入数据 * 可扩展的统计生成器 * 可扩展的可视化工具 * 可通过 SQL 和 内部 DSL 查询代码历史记录

《深入剖析Nginx》——1.2 源码下载

1.2 源码下载 深入剖析Nginx Nginx的源码可通过官网提供的下载地址1找到,截止当前的最新版本是Nginx 1.2.0,也就是本书所针对的版本.虽然官网下载页没有提供Nginx旧版源码的下载链接,但Nginx的所有版本源码包都是放在目录 http://nginx.org/download/下的,所以包括Nginx 0.1.0版本在内的Nginx源码都能下载到. 由于Nginx背后有公司运作,所以其更新速度比较快,相关资料也比较齐全,下面是一些有用的网址. 官方主页:http://ngi

《深入剖析Nginx》——1.3 源码目录结构

1.3 源码目录结构 将Nginx源码包解压后,目录文件如下所示. [root@localhost nginx-1.2.0]# ls -F auto/ CHANGES CHANGES.ru conf/ configure* contrib/ html/ LICENSE man/ README src/ 其中 auto/:包含了很多会在执行configure进行编译配置时调用的检测代码. CHANGES:Nginx的版本更新细节记录.英文版. CHANGES.ru:Nginx的版本更新细节记录.俄

Thrift之Protocol源码分析

 之前写过两篇关于 Thrift 的相关文章. Thrift源码剖析 Thrift异步IO服务器源码分析 也算是对Thrift比较熟悉,不过对 Thrift 里面的 Protocol 部分还是黑盒使用. 虽然大概能猜到具体实现方式,但是还是忍不住花了一点点时间把具体代码实现翻出来看看. 主要是为了满足一下好奇心. 简单搞了一个Thrift的描述文件Insight.thrift作为例子. struct Person { 1: string name, 2: i32 age, 3: option

《深入剖析Nginx》一第1章 源码分析的准备工作

第1章 源码分析的准备工作 深入剖析Nginx 从Nginx(读作engine x)的官方网站1,我们可以看到如下介绍:Nginx是Igor Sysoev2编写的一款HTTP和反向代理服务器,另外它也可以当作邮件代理服务器.它一直被众多流量巨大的俄罗斯网站所使用,例如Yandex3.Mail.Ru4.VKontakte5以及Rambler6等.据Netcraft统计,截止到2012年8月份,世界上最繁忙的网站中有11.48%7在使用Nginx作为其服务器或者代理服务器.部分典型成功案例有:Net

《深入剖析Nginx》——第1章 源码分析的准备工作1.1 主要特性

第1章 源码分析的准备工作 从Nginx(读作engine x)的官方网站,我们可以看到如下介绍:Nginx是Igor Sysoev编写的一款HTTP和反向代理服务器,另外它也可以当作邮件代理服务器.它一直被众多流量巨大的俄罗斯网站所使用,例如Yandex.Mail.Ru.VKontakte以及Rambler等.据Netcraft统计,截止到2012年8月份,世界上最繁忙的网站中有11.48%在使用Nginx作为其服务器或者代理服务器.部分典型成功案例有:Netflix.Wordpress.co

Nginx源码分析-Epoll模块

Linux平台上,Nginx使用epoll完成事件驱动,实现高并发:本文将不对epoll本身进行介绍(网上一堆一堆的文章介绍epoll的原理及使用方法,甚至源码分析等),仅看一下Nginx是如何使用epoll的. Nginx在epoll模块中定义了好几个函数,这些函数基本都是作为回调注册到事件抽象层的对应接口上,从而实现了事件驱动的具体化,我们看如下的一段代码: ngx_event_module_t ngx_epoll_module_ctx = { &epoll_name, ngx_epoll_

nginx线程池源码分析_nginx

周末看了nginx线程池部分的代码,顺手照抄了一遍,写成了自己的版本.实现上某些地方还是有差异的,不过基本结构全部摘抄. 在这里分享一下.如果你看懂了我的版本,也就证明你看懂了nginx的线程池. 本文只列出了关键数据结构和API,重在理解nginx线程池设计思路.完整代码在最后的链接里. 1.任务节点 typedef void (*CB_FUN)(void *); //任务结构体 typedef struct task { void *argv; //任务函数的参数(任务执行结束前,要保证参数