今頭條!Liunx下對php內核的調試
時間:2023-06-25 07:30:23
主要是對上一篇文章中php_again
這道題的補充。
cd /usr/localwget https://www.php.net/distributions/php-8.2.2.tar.gztar -zxvf php-8.2.2.tar.gz && cd php-8.2.2
0x03編譯注意帶enable-debug
apt-get install build-essential autoconf automake libtool libsqlite3-dev pkg-config libjpeg-dev libpng-dev libxml2-dev libbz2-dev libcurl4-gnutls-dev libssl-dev libffi-dev libwebp-dev libonig-dev libzip-dev./configure --prefix=/usr/local/php --sysconfdir=/etc/php/8.2 --with-openssl --with-zlib --with-bz2 --with-curl --enable-bcmath --enable-gd --with-webp --with-jpeg --with-mhash --enable-mbstring --with-imap-ssl --with-mysqli --enable-exif --with-ffi --with-zip --enable-sockets --with-pcre-jit --enable-fpm --with-pdo-mysql --enable-pcntl --enable-debugmake && make installcd /usr/binln -s /usr/local/php/bin/php php8.2cp /usr/local/php-8.2.2/php.ini-development /usr/local/php/lib/php.ini cp /etc/php/8.2/php-fpm.conf.default /etc/php/8.2/php-fpm.confcp /etc/php/8.2/php-fpm.d/www.conf.default /etc/php/8.2/php-fpm.d/www.conf
0x04下載gdb工具apt-get updateapt install gdb
0x05調試樣例調試php中 生成 system_id的兩個函數(zend_startup_system_id,zend_finalize_system_id),分別在 mian.c文件的第2237行
和第2288
行
(資料圖片)
cd /usr/local/php/bin#即php可執行文件目錄
先在這兩處打斷點
接下來執行 run 一個php文件。
step 單步進入該函數。
n下一步
print var 打印變量
該函數運行完后,context
的值是。(因為enable-debug了,所以NTS后還有一個debug,正常情況下是沒有的)
跳出該函數后,輸入 c
進入下一個斷點。
同樣 step單步跳入??梢钥吹降诙€ if語句是進去了,hooks的值為 "\x02"
接下來是個 for循環,一個都沒進去,所以 context
的值沒有更新。最后 context
的值是。
把 debug去掉放 python跑一下。
這下跑的結果是正確的。
0x06一些細節zend_compile_file
和 compile_file
是不一樣的。讓我們看看發生了什么。
watch zend_compile_file
編譯時開啟 dtrace
并且,環境變量中有 USE_ZEND_DTRACE
時才會進入這個if 。 所以這個時候 zend_compile_file
是等于 compile_file
的。
在phar.c中還會改變一次。之后就會調用 zend_finalize_system_id
.
額,源碼看不懂,就跟著看了下變量信息,主要簡單了解下如何使用gdb調試。
相關稿件
全球今日報丨《消失的她》上映3天票房破5億 倪妮主演電影票房破50億
邁阿密國際老板貝克漢姆社媒曬圖,祝梅西36歲生日快樂-全球速看
天天消息!早參丨端午假期廣州共接待市民游客近623萬人次;銀川燒烤店爆炸事故原因公布
今日快看!廣圖曬新館開放十周年成績單:讀者訪問量居全國公共圖書館首位
熱點聚焦:資訊推薦:當前聚焦:山水相融,風景如畫,延慶籌建京郊最大塞外風情聚落_熱點聚焦 全球速遞|速看_環球今日訊|關注_環球快資訊
【房地產開發】房地產/行業深度:更新改造、人均居住面積改善驅動未來住宅需求
【計算機設備】計算機事件點評:“LLM算法備案”清單發布,商業化應用可期
【文化傳媒】傳媒行業點評報告:版號如期發放,關注AI在游戲領域的加速落地