Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Windows版php-srcデバッグ方法
Search
てきめん tekimen
PRO
June 11, 2024
140
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Windows版php-srcデバッグ方法
msys:
https://www.msys2.org/
msysのlldbを使うとデバッグできることがわかったのでスライドを作った
てきめん tekimen
PRO
June 11, 2024
More Decks by てきめん tekimen
See All by てきめん tekimen
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
840
ChatGPTを使ってRaspberry Pi Picoの処理系を書いた
youkidearitai
PRO
0
96
PHP Internals わいわい #3 PIEを使ってみよう
youkidearitai
PRO
0
73
grapheme_strrev関数が採択されました(あと雑感)
youkidearitai
PRO
1
350
Limit of code point for grapheme cluster in programming language side.
youkidearitai
PRO
0
95
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
2
3.7k
PHP 8.5の裏話
youkidearitai
PRO
0
160
CJK and Unicode From a PHP Committer
youkidearitai
PRO
0
360
PHP Internals わいわい #3 mb_*関数を作ってみよう
youkidearitai
PRO
0
170
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.1k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
430
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
Technical Leadership for Architectural Decision Making
baasie
3
460
How to Think Like a Performance Engineer
csswizardry
28
2.7k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
200
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
A Modern Web Designer's Workflow
chriscoyier
698
190k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
The SEO identity crisis: Don't let AI make you average
varn
0
520
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
200
Transcript
PHP Internals わいわい Windows番外編
コンパイルの前段階 • Windowsを用意します • コマンドプロンプトで頑張ります • Visual C++ 2019をインストールします –
https://visualstudio.microsoft.com/ja/vs/older-down loads/ – (追記: 最近になってVisual C++ 2022で動くようになりまし た。その際にはvs17と読み替えてください)
PHPのコンパイルの準備 > cd C:\ > git clone https://github.com/php/php-sdk-binary-tools php- sdk
> cd php-sdk > .\phpsdk-vc16-x64.bat > phpsdk_buildtree phpdev > cd vc16\x64 > git clone https://github.com/php/php-src
PHPのコンパイルの準備 > cd php-src > .\buildconf.bat -f > .\configure.bat --enable-debug
--enable-mbstring > nmake > nmake test > x64\Debug_TS\php.exe -v #これで実行できる!
デバッグ手法 msysをインストールします https://www.msys2.org/ msysから起動し、lldbのインストールをします $ pacman -S mingw-w64-x86_64-lldb コマンドプロンプトで以下を叩き、レッツデバッグ! C:\msys64\mingw64\bin\lldb.exe
x64\Debug_TS\php.exe (環境変数通しておくと良いですね)
テストについて https://www.phpinternalsbook.com/tests/runn ing_the_test_suite.html > x64\Debug_TS\php.exe run-tests.php # すべて のテストを行う >
x64\Debug_TS\php.exe run-tests.php -P ext/mbstring # mbstring拡張のみテストする
テストファイルについて https://www.phpinternalsbook.com/tests/phpt _file_structure.html .phptファイルを使ってテストを行います
あとはPHP Internals Bookに従いましょう • レッツコントリビュート! • これだけじゃ厳しいのはわかってるのであとはよし なに