php原始碼分析 第一章

2021-06-01 19:24:53 字數 1538 閱讀 2745

環境

lsb_release -a

lsb version:    :core-4.0-ia32:core-4.0-noarch:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-ia32:printing-4.0-noarch

distributor id: centos

description:    centos release 5.6 (final)

release:        5.6

codename:       final

php:      5.2

gdb:      gnu gdb (gdb) red hat enterprise linux (7.0.1-37.el5_7.1)

svn co php-src-5.2

./buildconf

./configure --disable-all

make

開始gdb除錯

gdb(gdb) file sapi/cli/php

(gdb)run test.php       #這裡的test.php是隨便編寫的乙個php檔案

(gdb) list

612     /* }}} */

613614     /* {{{ main

615      */

616     #ifdef php_cli_win32_no_console

617     int winapi winmain(hinstance hinstance, hinstance hprevinstance, lpstr lpcmdline, int nshowcmd)

618     #else

619     int main(int argc, char *argv)

620     #endif

621     {

(gdb) b 617

breakpoint 1 at 0x81c18f7: file /root/xiaoq/php-src-5.2/sapi/cli/php_cli.c, line 617.

(gdb) r

starting program: /root/xiaoq/php-src-5.2/sapi/cli/php test.php

[thread debugging using libthread_db enabled]

breakpoint 1, main (argc=2, argv=0xbfffea84) at /root/xiaoq/php-src-5.2/sapi/cli/php_cli.c:621

621     {

(gdb) n

628             int orig_optind=php_optind;

(gdb)

622             volatile int exit_status = success;

不會gdb的稍微學下,我也下的手冊剛看的,可以開始php原始碼之旅了,下章分析下php的大體執行流程和關鍵的原始碼位置,我也是初學者,不對之處多多指教!!!

Hadoop原始碼分析 第一章 Hadoop指令碼

詳細的內容放在附件中,以下列出大綱,以後會陸續有新的章節放出 第一章指令碼部分寫作大綱,包含以下主題 大綱 1.介紹的集群啟動過程並畫出執行序列圖,用一段文字對整體執行過程進行說明 2.說明集群啟動和停止的方式有哪幾種 start all.sh sop all.sh 和start dfs.sh st...

STL原始碼分析(第一章緒論)

本書使用的是sgi實現的版本,1.容器 containers 各種資料結構,如vector,list,deque,set,map,用來存放資料。stl容器是一種類模板 calss template 2.演算法 algorithm 各種常用演算法如sort search copy erase等。stl...

《Go程式語言》第一章 原始碼

fetch.go fetch 輸出從url獲取的內容 讀取響應的主體內容 body,err ioutil.readall resp.body 避免資源洩露 resp.body.close 處理讀取失敗情況 if err nil 列印 fmt.printf s body 執行命令 go run fet...