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
370
JVM运行时诊断工具 HouseMD
Lunfu Zhong
June 04, 2013
Tweet
Share
More Decks by Lunfu Zhong
See All by Lunfu Zhong
spring-boot 在统一架构体系中的价值
zhongl
2
830
如何准备一场主题分享
zhongl
1
270
当配置遇到 Scala宏
zhongl
1
310
项目求生指南
zhongl
0
190
LEGO - let's build everything by scala
zhongl
1
210
Real-world Scala
zhongl
2
110
Art of The Code
zhongl
1
220
Other Decks in Programming
See All in Programming
複数ドメインに散らばってしまった画像…! 運用中のPHPアプリに後からCDNを導入する…!
suguruooki
0
380
Devin , 正しい付き合い方と使い方 / Living and Working with Devin
yukinagae
1
490
Django for Data Science (Boston Python Meetup, March 2025)
wsvincent
0
120
ステートソーシング型イベント駆動の視点で捉えるCQRS+ES
shinnosuke0522
1
290
CQRS+ES勉強会#1
rechellatek
0
370
データベースエンジニアの仕事を楽にする。PgAssistantの紹介
nnaka2992
2
1.3k
Effective Signals in Angular 19+ Rules and Helpers
manfredsteyer
PRO
0
180
フロントエンドテストの育て方
quramy
4
510
Functional APIから再考するLangGraphを使う理由
os1ma
4
630
SideKiqでジョブが二重起動した事象を深堀りしました
t_hatachi
0
140
AWS CDKにおけるL2 Constructの仕組み / aws-cdk-l2-construct
gotok365
4
910
CRE Meetup!ユーザー信頼性を支えるエンジニアリング実践例の発表資料です
tmnb
0
110
Featured
See All Featured
Practical Orchestrator
shlominoach
186
10k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.2k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
450
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
Code Reviewing Like a Champion
maltzj
521
39k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
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