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
JVM运行时诊断工具 HouseMD
Search
Lunfu Zhong
June 04, 2013
Programming
0
380
JVM运行时诊断工具 HouseMD
Lunfu Zhong
June 04, 2013
Tweet
Share
More Decks by Lunfu Zhong
See All by Lunfu Zhong
spring-boot 在统一架构体系中的价值
zhongl
2
840
如何准备一场主题分享
zhongl
1
270
当配置遇到 Scala宏
zhongl
1
320
项目求生指南
zhongl
0
210
LEGO - let's build everything by scala
zhongl
1
220
Real-world Scala
zhongl
2
120
Art of The Code
zhongl
1
220
Other Decks in Programming
See All in Programming
Firebase Dynamic Linksの代替手段を自作する / Create your own Firebase Dynamic Links alternative
kubode
0
230
AHC 044 混合整数計画ソルバー解法
kiri8128
0
320
Vibe Codingをせずに Clineを使っている
watany
17
6k
List とは何か? / PHPerKaigi 2025
meihei3
0
670
英語 × の私が、生成AIの力を借りて、OSSに初コントリビュートした話
personabb
0
180
新卒から4年間、20年もののWebサービスと 向き合って学んだソフトウェア考古学
oguri
8
7.2k
S3静的ホスティング+Next.js静的エクスポート で格安webアプリ構築
iharuoru
0
220
生成AIを使ったQAアプリケーションの作成 - ハンズオン補足資料
oracle4engineer
PRO
3
190
ミリしらMCP勉強会
watany
4
740
メモリウォールを超えて:キャッシュメモリ技術の進歩
kawayu
0
1.9k
PHPで書いたAPIをGoに書き換えてみた 〜パフォーマンス改善の可能性を探る実験レポート〜
koguuum
0
130
DataStoreをテストする
mkeeda
0
280
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.5k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2k
KATA
mclloyd
29
14k
Faster Mobile Websites
deanohume
306
31k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.1k
Building an army of robots
kneath
304
45k
Building Applications with DynamoDB
mza
94
6.3k
The Pragmatic Product Professional
lauravandoore
33
6.5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
2.9k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
34
2.2k
Transcript
H ouse .M.D
聚石@taobao.com https://github.com/zhongl
他是一位 诊断 技艺精湛的医生
话说 诊断 技艺精湛的 程序员会是...
System.out.println("debugging");
LOG.debug("debugging");
信息打印总不全有木有? 又要改代码 > 编译 > 部署, 有木有? 多来几次想屎的心有木有?
工欲善其事,必先利其器
BTrace 神器降临, 一秒钟变高富帅!
Invocation Interception Profile JStack Context DTrace JMap JInfo Histogram Memory
File Socket
甜蜜中略带苦涩, 幸福中稍显忧伤
https://gist.github.com/zhongl/5625338 ClassNotFoundException
https://gist.github.com/zhongl/5625366 StackOverflowError
不用IDE写脚本很苦逼, 有木有? 总是要调整几次脚本才见效, 有木有? 多来几次尿都憋不住了, 有木有?
HouseMD 交互式命令行
$ housemd <jvm pid> INFO : Welcome to HouseMD 0.2.4
INFO : connection established on 54321 housemd> _
`trace TraceTarget.addOne`
`trace TraceTarget$C+` trace sub class
`trace -d TraceTarget$C+` get args and return
`trace -s TraceTarget$C+` get invocation StackTrace
Demo
http://github.com/csug/housemd
Tips & Traps
limit < 100 timeout < 3 `trace` with `-l -t`
trace unknown sub class instance `trace` with `Xxx+`
SimpleName conflict `trace` with `-p com.xxx`
INFO: Ended by error `last` for error ending
class loaded by who from where `loaded` for class info
port conflict `housemd -p <port>`
Emacs edit mode, power by jline2 `Ctrl + r` for
history search
Backspace do not work Linux mode in SecureCRT
chmod +w /tmp No echo cause by privilege
housemd -h > help [command] test cases issues More help
!!!
https://github.com/CSUG/HouseMD/wiki/DevGuideCN Contribute to HouseMD
Intro CSUG
Thanks
Scala In HouseMD TODO