Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
JVM运行时诊断工具 HouseMD
Search
Lunfu Zhong
June 04, 2013
Programming
530
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
JVM运行时诊断工具 HouseMD
Lunfu Zhong
June 04, 2013
More Decks by Lunfu Zhong
See All by Lunfu Zhong
spring-boot 在统一架构体系中的价值
zhongl
2
930
如何准备一场主题分享
zhongl
1
370
当配置遇到 Scala宏
zhongl
1
390
项目求生指南
zhongl
0
420
LEGO - let's build everything by scala
zhongl
1
310
Real-world Scala
zhongl
2
180
Art of The Code
zhongl
1
270
Other Decks in Programming
See All in Programming
Performance Optimization With LLMs
xleitix
0
210
Next.js: The final boss of Web Performance
guaca
0
350
Vue Fes Japan の “作る側”に関わってみて
naokihaba
1
200
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.9k
残高管理から台帳サービスへの進化
artoy
1
220
AI時代のシニアエンジニアとは
yosuke_furukawa
PRO
12
10k
動画プレイヤーはなぜカクつくのか 〜Flutterのレンダリングとネイティブの境界を解剖する〜
naruogram
0
170
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
3
1.3k
JIS keyboard support in Omarchy
lef237
0
160
プロジェクトコードをキレイキレイしよう!暗黙的な参照を読み解く静的解析
ostk0069
0
130
우리의 Nitro Modules는 당신의 Turbo Modules보다 아름답다
l2hyunwoo
0
230
AI時代のFlutter品質設計 — アプリ品質を守るQuality Layers
omatty198
0
190
Featured
See All Featured
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Navigating Weather and Climate Data
rabernat
0
560
We Are The Robots
honzajavorek
0
410
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
The Invisible Side of Design
smashingmag
301
52k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
2
410
Testing 201, or: Great Expectations
jmmastey
46
8.4k
Tell your own story through comics
letsgokoyo
1
1.1k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.7k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
The browser strikes back
jonoalderson
0
1.9k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
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