1
monkeyWie 2020-04-21 17:52:32 +08:00
打个断点不就看到了吗
|
3
royan 2020-04-21 18:03:41 +08:00
祝早日脱离 hibernate 的苦海
|
4
340244120w 2020-04-21 18:15:52 +08:00
@jeffh #2
在你业务查询代码里打个断点,到断点的时候,仔细看 idea 的 debug 窗口里所有 tab 。。。 |
5
jeffh OP @340244120w 这个时候调用栈还没到 hibernate 里面
|
7
340244120w 2020-04-21 18:34:35 +08:00
用 xrebel 吧
|
9
zhaorunze 2020-04-21 19:10:14 +08:00
先抛异常,然后在异常所在文件的函数上面打断点。当然如果没有异常当我没说,或者可以认为的制造异常,然后抛异常的位置,大概就是关键代码位置。
|
11
ic2y 2020-04-21 19:22:40 +08:00
例如,com.mysql.jdbc.StatementImpl 的 executeQuery 方法,这种底层 jdbc 的 查询和 execute 方法,打上断点,然后做一些业务操作,静静等待断点到来
|
12
aitaii 2020-04-21 20:11:48 +08:00 via Android
断电看调用栈
|
14
jeffh OP @340244120w 貌似不是我想要的
|
15
ilumer 2020-04-22 00:29:28 +08:00
故意抛出异常,然后跟着堆栈走
|
16
scemsjyd 2020-04-22 08:12:30 +08:00 via Android
arthas 可以看调用栈,不过没有直接本地 debug 来的快
|
17
THESDZ 2020-04-22 09:03:58 +08:00
是不是看似没进去,实际使用了反射,然后你跳过了?
|
18
oneisall8955 2020-04-22 09:09:58 +08:00 via Android
呆呆的办法~
```java public void test(){ A a = aDao.save(new A()); // 断点下一行 sout("断点这一行然后看调用栈找到你需要的断点入口再断点"); } ``` |
19
340244120w 2020-04-22 10:48:13 +08:00
@jeffh #14 xrebel 能看到 sql 语句到 controller 的所有栈信息,不就是你要的么。。你用了就知道了
|
20
zek 2020-04-22 12:56:54 +08:00
试试 java Agent
|