0 0

很奇怪的一个debug中的问题5

service层的a方法调用了dao层的b方法,从a方法中点击鼠标+ctrl可以进入到dao层的b方法,但是我在debug的时候在a方法中点击进入箭头,怎么都进不了dao层b方法。而且此时的debug的箭头呈透明的白色,除非按顶上的三角一次性执行完,要不然就debug不动了。
请问各位高手:这是为什么?
有人告诉我把工程clear一下,可是我clear了三四次了,都还是老样子
说明:dao是利用spring的动态植入的原理植入service中的,而且就a方法进入不了b方法;service中的其他方法都可以顺利的调用dao层中相对应的方法。

问题补充:
OpenMind 写道
你用Spring?你的Dao层b方法被代理了,debug视图会进入Spring的源码(如果你没有就只能看到堆栈),Spring代理最后是通过反射用invoke方法调用的,最终会进入JDK实现者的代码甚至本地代码,所以这种方式你是跟不了的。

解决方法:
在你b方法入口处打一个断点,F8就行了。

我们项目用的SSH框架是:spring+struts+ibatis;但是华为把SSH都自己封装了一下,挺深的,我不知道是怎么封装的,但bebug的时候可以从service层进入dao层。
谢谢你!,以后我参与其他项目debug的时候会考虑这个因素的。
2012年2月08日 14:19

1个答案 按时间排序 按投票排序

0 0

你用Spring?你的Dao层b方法被代理了,debug视图会进入Spring的源码(如果你没有就只能看到堆栈),Spring代理最后是通过反射用invoke方法调用的,最终会进入JDK实现者的代码甚至本地代码,所以这种方式你是跟不了的。

解决方法:
在你b方法入口处打一个断点,F8就行了。

2012年2月08日 14:31

相关推荐

    Debug_It!_Find,_Repair,_and_Prevent_Bugs_in_Your_Code

    调试工作往往需要耐心和冷静,面对复杂而诡异的软件缺陷时,开发者可能需要长时间去理解和解决,正如Jon Dickinson所描述的那样,有时为了弄清楚一个真正奇怪的缺陷,人们甚至会尝试到令人难以置信的地步。...

    JTAG模式下Vivado SDK全速运行时的奇怪报错

    一个值得注意的问题是,在Debug模式下不会出现此错误,暗示了可能与当前使用的调试/运行模式有关。此错误在图3的详细描述中提示无法找到ID为64的目标,这可能意味着软件与硬件之间的通信存在问题,尤其是在JTAG接口...

    C# 如何规范的写 DEBUG 输出

    经常在代码中,需要使用 DEBUG 来输出一些奇怪的东西来进行测试。但是输出的窗口只有一个,如果有一个逗比在不停输出,那么就会让输出窗口看不到自己的内容。 Task.Run(() => { while (true) { Console....

    oracle执行update语句时卡住问题分析及解决办法

    开发的时候debug到一条update的sql语句时程序就不动了,然后我就在plsql上试了一下,发现plsql一直在显示正在执行,等了好久也不出结果。但是奇怪的是执行其他的select语句却是可以执行的。 原因和解决方法 这种...

    i18n-debug:是否想过Rails,gem或只是您的应用程序正在查找哪些翻译? 不再感到奇怪!

    例如,Rails的隐式翻译是一个不错的功能。 但是有时候,以Order内嵌套形式获取BillingAddress的street属性的键可能很棘手,因为它很难在第一次尝试时就获得正确的结果。 此示例的密钥为activerecord.attributes....

    DebugIt (C++)

    本书的另一个卖点在于它所包含的逸闻趣事,这些故事展示了人们在试图理解和解决真正奇怪的缺陷时所采取的极端措施,增加了阅读的趣味性,同时也突出了调试过程中的挑战。 最后,书中提到的调试技术被类比于一种...

    babel_browserify_debug_example:一个小项目,演示如何使用sourcemap调试与babel和browserify的React程序

    由于我什至没有找到一个使用Windows OS在PC上本地使用Sourcemaps进行调试而不使用本地服务器的示例(很奇怪),因此我决定发布这个小示例供人们在需要时使用。 此示例使用了官方的Facebook react教程和babel与...

    JS调试必备的5个debug技巧

    有时候你会发现DOM不受你的控制,自己会发生一些奇怪的变化,让你很难找出问题的根源。 谷歌浏览器的开发工具里有一个超级好用的功能,专门可以对付这种情况,叫做“Break on…”,你在DOM节点上右键,就能看到这个...

    关于STM32F407启动后的系统时钟频率问题

    在STM32F407中,系统时钟频率的问题是一个经常被忽视的问题。我们通常认为,系统时钟频率是在SystemInit函数中设置的,但是实际上,这并不是事实。在本文中,我们将通过实验和分析,来探究STM32F407启动后的系统时钟...

    【C++小游戏 - 1】扫雷 v1.0.0 正式版(by Debug618)

    目前版本是第一个网上正式版,功能不是很完善,请见谅 快下载玩一玩吧! 以后也许会出一期关于核心代码的解释。 备注(不必读): 1. 只要电脑用的windows都能运行,xp不知道行不行(主要是没有win xp),win7~win...

    大名鼎鼎SWFUpload- Flash+JS 上传

    所有这些事件都可以在一个SWFUpload实体中被调用,这意味着在这些事件对应的函数中,你可以用 this 关键字来代替引用SWFUpload实体。  + fileDialogComplete (number of files selected)  - 触发条件  1. 用户...

    硬盘逻辑锁详解,仅供大家参考

    在日常使用电脑的过程中,我们可能会遇到一些奇怪的问题,比如BIOS能够检测到硬盘的存在,但无论是从软盘还是硬盘都无法启动计算机。这时候,很多人可能会误以为硬盘出现了物理损坏,但实际上,这种情况很可能是硬盘...

    Raize Components 6.1.12 Full Source For D7-RAD10 Fix Build CMD安装版 V2015.10.12

    笔者DELPHI程序工作有十五年,最近发现这个控件很多上传的是不能用的,所以我上传一个可以用的。 安装顺序:这个安装包里有CMO安装,不过,我是手动安装的。 1、编译RaizeComponentsVcl.dproj 编译...

    StrangeDay:工地代码奇怪的一天

    这段代码设置了Express的默认视图引擎为EJS,并在根路径上返回一个渲染后的`index.ejs`文件,其中`title`变量被传入的数据替换。 5. **可能遇到的问题**:“StrangeDay”可能描述了开发者在使用EJS时碰到的一些...

    浅析goland等待锁问题

    向后台发送了一个URL请求,竟然一直卡住,没有返回,就一直卡着 问题分析定位: 一开始还以为是网络,还是什么其它奇怪的原因,毕竟之前好好的。 这里应该第一时间思考环境的变化,网络、程序版本、还是什么地方变化...

    pymysql 开启调试模式的实现

    今天在排查线上一个奇怪的数据库连接问题,所以打开了 pymysql 的源码在阅读,发现 pymysql 在其 connections 模块里内置了一个 DEBUG 变量用于控制是否开启调试模式,是的话,会将当前连接的操作以及报文内容都打印...

    遇到的那些手机兼容问题

    记录下使用不同厂商的手机时遇到的各种奇怪问题。 VIVO手机 我用的是VIVO X21A,Android 8.1.0系统,遇到的奇怪问题如下: 开发者模式打开之后,无法连接adb命令,导致无法连接Android Studio。反复开关debug开关...

Global site tag (gtag.js) - Google Analytics