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
290
JVM运行时诊断工具 HouseMD
Lunfu Zhong
June 04, 2013
Tweet
Share
More Decks by Lunfu Zhong
See All by Lunfu Zhong
spring-boot 在统一架构体系中的价值
zhongl
2
750
如何准备一场主题分享
zhongl
1
240
当配置遇到 Scala宏
zhongl
1
250
项目求生指南
zhongl
0
160
LEGO - let's build everything by scala
zhongl
1
180
Real-world Scala
zhongl
2
97
Art of The Code
zhongl
1
220
Other Decks in Programming
See All in Programming
CSC307 Lecture 13
javiergs
PRO
0
150
開発部に不満を持っていたCSがエンジニアにジョブチェンしてわかった「勝手に諦めない」ことの大切さ
sakuraikotone
28
16k
Exploring the Gradually Lost Technical Skills in the Cloud Native Era
hwchiu
2
3.9k
ドメイン駆動設計の実践
masuda220
PRO
19
5.2k
Activities at Cairo Library
cairolibrary720
0
1.2k
リハビリmruby
kishima
1
160
日付と正規化
megmogmog1965
0
140
3 Effective Rules for Success with Signals in Angular
manfredsteyer
PRO
0
120
はしめてのプログラミングとロボット制御
watawatavoltage
0
290
[After Kotlin Fest 2024 LT Night @ Sansan] もっともっとKotlinを好きになる!K2 Compiler Pluginで遊んでみよう!
kitakkun
2
260
なぜ宣言的 UI は壊れにくいのか / Why declarative UI is less fragile
uenitty
29
13k
Javaの現状2024夏 / Java current status 2024 summer
kishida
4
1.4k
Featured
See All Featured
Thoughts on Productivity
jonyablonski
64
4.1k
A better future with KSS
kneath
231
17k
Designing for Performance
lara
604
67k
Design by the Numbers
sachag
277
18k
From Idea to $5000 a Month in 5 Months
shpigford
377
46k
What's in a price? How to price your products and services
michaelherold
239
11k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
662
120k
Statistics for Hackers
jakevdp
792
220k
The Illustrated Children's Guide to Kubernetes
chrisshort
39
47k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Building Flexible Design Systems
yeseniaperezcruz
323
37k
Adopting Sorbet at Scale
ufuk
71
8.8k
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