首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当使用Intellij的调试器时,如何只单步执行“我的”Java源代码?

当使用Intellij的调试器时,可以按照以下步骤只单步执行“我的”Java源代码:

  1. 打开Intellij IDEA,并打开您的Java项目。
  2. 在Intellij的顶部菜单栏中,选择“Run”(运行)选项。
  3. 在下拉菜单中选择“Debug”(调试)选项,或者使用快捷键Shift + F9。
  4. 在调试窗口的左侧,您会看到一个红色的断点标记。在您希望开始单步执行代码的位置,单击该行代码的左侧,以设置断点。断点将显示为红色圆点。
  5. 在Intellij的顶部菜单栏中,选择“Debug”(调试)选项。
  6. 在下拉菜单中选择“Debug 'Your Application Name'”(调试“您的应用程序名称”)选项,或者使用快捷键Shift + F10。
  7. 调试器将在您设置的第一个断点处停止执行,并突出显示当前正在执行的代码行。
  8. 在调试窗口的顶部工具栏中,您可以看到一系列调试控制按钮,例如“Step Over”(单步执行当前行),“Step Into”(进入方法调用),以及“Resume Program”(继续执行程序)等。
  9. 使用这些调试控制按钮,您可以逐行执行代码并观察变量的值和程序的执行流程。

请注意,这是一个通用的步骤,适用于使用Intellij IDEA进行Java调试的大多数情况。具体的操作可能会因您的项目设置和调试需求而有所不同。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云开发者工具套件(https://cloud.tencent.com/product/tencentdevtool)
  • 云服务器(https://cloud.tencent.com/product/cvm)
  • 云原生应用引擎(https://cloud.tencent.com/product/tke)
  • 云数据库 MySQL 版(https://cloud.tencent.com/product/cdb)
  • 云存储(https://cloud.tencent.com/product/cos)
  • 人工智能(https://cloud.tencent.com/product/ai)
  • 物联网(https://cloud.tencent.com/product/iotexplorer)
  • 移动开发(https://cloud.tencent.com/product/mobdev)
  • 区块链(https://cloud.tencent.com/product/baas)
  • 元宇宙(https://cloud.tencent.com/product/metaverse)
相关搜索:Eclipse cdt调试器只单步执行必要的代码,而不是我自己的代码当使用Intellij时,在macOS dock上隐藏Gradle守护程序的Java图标?当调试器请求一个值时,我如何判断我的断言是否被击中?当使用整数计算Java的阶乘100(100!)时,我得到0当使用async/await时,当一个调用出错时,如何停止函数的执行?当使用history.goBack()时,如何确保只返回app内的页面?如何使用IntelliJ在我的java应用程序中运行多个使用者当我想通过我的终端运行特定命令时,如何使用VScode的调试器?使用我自己的模型作为参数时执行单元测试时的java.lang.AssertionError当需要额外的参数时,我如何避免使用foor循环?当使用"apply“时,我可以只返回一个函数的一个值吗?当使用git pull时,我如何查看我正在使用的ssh密钥?当PlayServices使用AndroidX时,如何使用云构建我的应用程序?当存在我不关心的依赖项时,如何使用useEffect?当使用带有GeometryCallback的VertexBufferReader时-我如何知道枚举何时完成?当使用'&‘命名c文件时,我如何纠正构建失败的错误?使用Xdebug捆绑的debugclient,示例如何在单步执行页面时设置局部变量和全局变量我有一个可以检测脏话的“我的世界”插件。当玩家咒骂时,我该如何执行命令?当MyBatis传入的参数数据类型为java map时,如何执行更新操作?当铃声静音时,如何防止我的应用程序(使用AVPlayer)静音?
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 用单步异常检测OllyDbg的巧妙方法

    SEH大概算得上是WINDOWS下公开的秘密了,什么?您还不知道?没关系,下面我来简单地介绍一下。SEH即结构化异常处理(Structured Exception Handling),简单地说就是当程序出现错误时,系统把当前的一些信息压入堆栈,然后转入我们设置好的异常处理程序中执行,在异常处理程序中我们可以终止程序或者修复异常后继续执行。异常处理处理分两种,顶层异常处理和线程异常处理,下面我们要用到的是线程异常处理。具体做法是,每个线程的FS:[0]处都是一个指向包含异常处理程序的结构的指针,这个结构又可以指向下一个结构,从而形成一个异常处理程序链。当发生异常时,系统就沿着这条链执行下去,直到异常被处理为止。我们可以使FS:[0]指向我们自己写的异常处理程序,从而自己处理异常。这里只是关于异常处理的简单介绍,具体内容请参考看雪学院的《加密与解密》及相关的windows编程书籍。 我们都知道用调试器(下面的介绍都以当前流行的调试器OllyDbg为例)可以设置断点,那么当设置断点时调试器究竟是怎样工作的呢?这要分几种情况了,一种是代码断点,即Cracker在某行代码上下断点,这时调试器自动把这行代码的首字节改为CC(即INT3中断,这个修改在OD中不会显示)这样每当程序运行到这里都会产生中断,而调试器可以接管这个中断,从而实现对程序的控制;另一种是内存断点,即当程序对某处内存有操作(读或写)时产生中断,这是直接利用CPU的调试寄存器DRx来完成的;还有一种不太像中断的“中断”,即单步中断,也就是说当你在调试器中选择“步过”某条指令时,程序自动在下一条语句停下来,这其实也属于一种中断,而且可以说是最常用的一种形式了,当我们需要对某段语句详细分析,想找出程序的执行流程和注册算法时必须要进行这一步。是80386以上的INTEL CPU中EFLAGS寄存器,其中的TF标志位表示单步中断。当TF为1时,CPU执行完一条指令后会产生单步异常,进入异常处理程序后TF自动置0。调试器通过处理这个单步异常实现对程序的中断控制。持续地把TF置1,程序就可以每执行一句中断一次,从而实现调试器的单步跟踪功能。 讲到这里,不知聪明的您看出什么问题没有:如果我们的程序本身就含有对单步异常的处理程序会怎么样呢?呵呵,据笔者的实验是,OD会不理睬我们程序自己的单步异常处理程序而自顾自地把异常处理接管了。这其实就给了我们一种很巧妙的方法,我们可以自己把TF置1,然后把注册算法中十分关键的运算放在我们程序自己的单步异常处理程序中。这样当程序在正常条件下执行时,一旦产生单步异常就会转到我们自己写好的异常处理中继续进行而不会受到影响,如果程序被调试,而Cracker选择了按F8步过这段程序,那么这时产生的单步异常会被调试器忽略,这样那些关键的代码就得不到执行,从而产生令人十分迷惑的结果。 好了,说了这么多,下面看一个实际的例子:(MASM32 8.2下编译通过)

    03

    Eclipse使用入门教程[通俗易懂]

    Eclipse使用入门教程 说起java的IDE,朗朗上口的无非是Eclipse了,假若能熟练Eclipse,对于我们编写java程序会起到事半功倍的效果,大大提高我们工作效率。因此本篇博文,笔者只是针对刚刚入门java的新手,以便他们能尽快掌握Eclipse的使用。 1. 常用快捷键 这是使用工具的第一步,熟练使用快捷键对于我们编写程序会起到相当大帮助,所以这里笔者列出的快捷键建议大家必须都掌握。 Ctrl + 鼠标左键(类、方法、属性的变量名词):定位跟踪某变量声明或定义的位置 Ctrl + S:保存当前文件 Ctrl + X:剪切 Ctrl + C:复制 Ctrl + V:粘贴 Ctrl + D:删除当前行 Ctrl + F:查找/替换(当前编辑窗口) Ctrl + H:全局搜索 Ctrl + /:注释当前行或多行代码 Ctrl + Shift + C:注释当前行或多行代码 Ctrl + Shift + F:格式化当前代码 Ctrl + Shift + O:缺少的Import语句被加入,多余的Import语句被删除(先把光标定位到需导入包的类名上) Ctrl + Shift + S:保存所有文件 Ctrl + Shift + X:把当前选中的文本全部变为大写 Ctrl + Shift + Y:把当前选中的文本全部变为小写 Alt + /:代码智能提示 Alt + Shift + R:重命名(包括文件名、类名、方法名、变量名等等,非常好用) Alt + Shift + J:生成类或方法的注释 Alt + Shift + S:打开Source窗口(生成get、set方法,实现、覆盖接口或类的方法,很常用) Alt + Shift + D, J:如果有main方法入口,则以Debug方式执行代码 Alt + Shift + X, J:如果有main方法入口,则以Run方式执行代码

    02
    领券