有什么办法能直接了当的弄清楚是程序哪个位置、哪一行语句报的错吗? 比如下面这种异常

2023-04-28 13:56:25.663 DEBUG 12404 --- [nio-8089-exec-1] c.z.a.mapper.SysMenuMapper.selectById    : ==>  Preparing: SELECT id,parent_id,name,path,perms,component,type,icon,ordernum,create_time,update_time,status FROM sys_menu WHERE id=?
2023-04-28 13:56:25.775 DEBUG 12404 --- [nio-8089-exec-3] c.z.a.mapper.SysMenuMapper.selectList    : ==> Parameters: 
2023-04-28 13:56:25.775 DEBUG 12404 --- [nio-8089-exec-1] c.z.a.mapper.SysMenuMapper.selectById    : ==> Parameters: 1(Long)
2023-04-28 13:56:25.775 DEBUG 12404 --- [nio-8089-exec-2] c.z.a.mapper.SysMenuMapper.selectById    : ==> Parameters: 1(Long)
2023-04-28 13:56:25.793 DEBUG 12404 --- [nio-8089-exec-2] c.z.a.mapper.SysMenuMapper.selectById    : <==      Total: 1
2023-04-28 13:56:25.795 DEBUG 12404 --- [nio-8089-exec-1] c.z.a.mapper.SysMenuMapper.selectById    : <==      Total: 1
2023-04-28 13:56:25.797 DEBUG 12404 --- [nio-8089-exec-3] c.z.a.mapper.SysMenuMapper.selectList    : <==      Total: 18
2023-04-28 13:56:25.807 ERROR 12404 --- [nio-8089-exec-2] c.z.a.c.e.GlobalExceptionHanlder         : 运行时异常:nested exception is org.apache.ibatis.builder.BuilderException: Error evaluating expression 'ew != null and ew.sqlFirst != null'. 
Cause: org.apache.ibatis.ognl.OgnlException: sqlFirst [com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: can not use this method for "getSqlFirst"]

Comment From: miemieYaho

你怎么用的?

Comment From: evelynn996

你怎么用的?

@miemieYaho 我少加了eq条件,然后防全表更新拦截了,后面排查到了。 我不知道是在哪个语句报的错,要排查好久,有点折磨

  this.lambdaUpdate()
                    .set(SysMenu::getName, sysMenu.getName())
                    .set(SysMenu::getPerms, sysMenu.getPerms())
                    .set(SysMenu::getIcon, sysMenu.getIcon())
                    .eq(SysMenu::getId, sysMenu.getId())
                    .update();

Comment From: nieqiurong

全局异常处理器打印出完整堆栈出来看看,可以的话提供一个复现的demo

Comment From: evelynn996

全局异常处理器打印出完整堆栈出来看看,可以的话提供一个复现的demo

@nieqiurong
谢谢,我之后意识到了打印出堆栈就能看到报错位置,报错原因上面提到了