greys-anatomy icon indicating copy to clipboard operation
greys-anatomy copied to clipboard

希望2.0 加入 houseMD 的 inspect

Open whitelilis opened this issue 7 years ago • 5 comments

发现这个命令可以查看类的属性, 这功能很实用. 如果能看 instance 的属性就更好了, 我可能想多了,哈哈.

whitelilis avatar Dec 15 '17 09:12 whitelilis

嗯嗯~

  1. 如果你想看一个类的静态属性,不妨尝试下

    sc -df com.xxx.ClassName
    
  2. 如果你想看一个instance的属性,不妨尝试下

    watch -b com.xxx.ClassName methodName target -x 1
    
  3. 目前你只能通过watchtt等命令在有请求触发的情况下才能拿到对应的instance,凭空拿到一个instance实在是做不到的事情。不过我是考虑在2.0中给一些容器开发一些Hook(比如spring、Servlet等),这样你就能通过这些Hook拿到对应的容器,再从容器中拿到instance就比较容易了

oldmanpushcart avatar Dec 18 '17 07:12 oldmanpushcart

嗯, 需求不够明确。 1, sc -df 看静态属性已经很好, 如果也支持 -x 参数就更好了, 因为有一些 list 或 hashmap 会显示为内存地址。 2, 看 instance 这个需求不明确: 最希望有的一个功能是, 当代码执行到某一行时(因为函数调用可能发生在很多地方,不好定位), 查看 当前环境 下的一个 instance

whitelilis avatar Dec 18 '17 08:12 whitelilis

  1. sc -df支持-x参数,嗯嗯,这个需求我应该可以搞定,不难
  2. "当代码执行到某一行时",这个可以明确下什么意思么?因为指定到某一行这个着实有点变态的需求哈哈

oldmanpushcart avatar Dec 18 '17 14:12 oldmanpushcart

比如 image

这个函数里, 执行到 236 行的时候, 我想看看 flushPeriodMs 的值是什么,类似这样的

或者, 可以知道一个函数里的执行路径是什么样的, 执行了哪些行(话说我现在用 btrace 就用来看执行了哪些行, 好判断它的执行逻辑)

whitelilis avatar Dec 19 '17 06:12 whitelilis

好的,收到。另外,如果想看执行可以用trace 命令哦

oldmanpushcart avatar Dec 19 '17 11:12 oldmanpushcart