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
330
JVM运行时诊断工具 HouseMD
Lunfu Zhong
June 04, 2013
Tweet
Share
More Decks by Lunfu Zhong
See All by Lunfu Zhong
spring-boot 在统一架构体系中的价值
zhongl
2
790
如何准备一场主题分享
zhongl
1
250
当配置遇到 Scala宏
zhongl
1
280
项目求生指南
zhongl
0
160
LEGO - let's build everything by scala
zhongl
1
180
Real-world Scala
zhongl
2
99
Art of The Code
zhongl
1
220
Other Decks in Programming
See All in Programming
offers_20241022_imakiire.pdf
imakurusu
2
360
Android 15 でアクションバー表示時にステータスバーが白くなってしまう問題
tonionagauzzi
0
140
Sidekiqで実現する 長時間非同期処理の中断と再開 / Pausing and Resuming Long-Running Asynchronous Jobs with Sidekiq
hypermkt
6
2.7k
Vue3の一歩踏み込んだパフォーマンスチューニング2024
hal_spidernight
3
3.1k
Server Driven Compose With Firebase
skydoves
0
400
qmuntal/stateless のススメ
sgash708
0
120
とにかくAWS GameDay!AWSは世界の共通言語! / Anyway, AWS GameDay! AWS is the world's lingua franca!
seike460
PRO
1
560
弊社の「意識チョット低いアーキテクチャ」10選
texmeijin
5
23k
/←このスケジュール表に立ち向かう フロントエンド開発戦略 / A front-end development strategy to tackle a single-slash schedule.
nrslib
1
590
JaSST 24 九州:ワークショップ(は除く)実践!マインドマップを活用したソフトウェアテスト+活用事例
satohiroyuki
0
270
Why Spring Matters to Jakarta EE - and Vice Versa
ivargrimstad
0
1k
破壊せよ!データ破壊駆動で考えるドメインモデリング / data-destroy-driven
minodriven
16
4.1k
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
107
49k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.2k
GraphQLの誤解/rethinking-graphql
sonatard
66
10k
Adopting Sorbet at Scale
ufuk
73
9k
Six Lessons from altMBA
skipperchong
26
3.5k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
How GitHub (no longer) Works
holman
311
140k
Optimizing for Happiness
mojombo
376
69k
Learning to Love Humans: Emotional Interface Design
aarron
272
40k
Measuring & Analyzing Core Web Vitals
bluesmoon
1
41
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