断点

20155212 2017-2018-1 《信息安全系统设计》第2周课堂实践

有些话、适合烂在心里 提交于 2020-01-28 00:06:28
1-VI 每个 .c一个文件,每个 .h一个文件,文件名中最好有自己的学号 用Vi输入图中代码,并用gcc编译通过 在Vi中使用K查找printf的帮助文档 提交vi编辑过程截图,要全屏,包含自己的学号信息 相关知识 vi的使用 截图 2-gcc测试 用gcc 进行预处理,编译,汇编,链接vi输入的代码 生成的可执行文件中要有自己的学号 提交预处理,编译,汇编,链接,运行过程截图,要全屏,包含自己的学号信息 相关知识 ESC---ISO 截图 3-gdb测试 用gcc -g编译vi输入的代码 在main函数中设置一个行断点 在main函数增加一个空循环,循环次数为自己学号后4位,设置一个约为学号一半的条件断点 提交调试过程截图(一定包含条件断点的),要全屏,包含自己的学号信息 相关知识 要调试代码在用gcc编译时必须加上 -g 参数 使用gdb设置断点 行断点 临时断点 函数断点 条件断点 截图 4-静态库的测试 除了main.c外,其他4个模块(add.c sub.c mul.c div.c)的源代码不想给别人,如何制作一个mymath.a静态库?main.c如何使用mymath.a? 提交静态库生成和调用过程截图(一定包含条件断点的),要全屏,包含自己的学号信息 相关知识 生成和调用静态库 使用gdb设置断点 截图 5-共享库 除了main.c外,其他4个模块(add.c

Cannot parse POST parameters of request: '<URL>'

五迷三道 提交于 2020-01-26 00:30:07
Error: java.net.SocketTimeoutException: Read time out weblogic.utils.NestedRuntimeException: Cannot parse POST parameters of request: '<Your Error URL>' Description: Workshop进行程序调试,出现上述两个异常,截图如下: 网上说是因为 页面二次提交 问题,可我的应用不存在二次提交问题。 Accuse: 因为在整理代码的时候我加了些断点, Weblogic Server 启动的时候默认为 Debug 模式 ,这些断点自然就阻止程序的运行,于是出现第一个Time Out 异常,接着出现第二个Cannot parse POST parameters of request 异常。 Action: 通过 Workshop 菜单栏的 Debug 菜单将所有的断点 Disable 掉即可,如下图: 注意: Weblogic Workshop 8.1 的 Server 默认启动为 Debug 模式,默认断点会起作用。 参考: http://xzhsht.blog.163.com/blog/static/5967507220113163518254/ 来源: https://www.cnblogs.com/orientsun

pycharm管理断点怎么删除断点

☆樱花仙子☆ 提交于 2020-01-25 10:26:35
1、首先,进行打开一个在编辑的左侧中添加了断点了 2、然后进行pycharm的菜单中的 run 的菜单 3、进行点击了run菜单之后弹出了下拉菜单选中为 view breakpoints 的选项 4、这样就会弹出了一个breakpoints的选项窗口,进行选中需要删除的断点 5、需要的删除的断点选中完成之后,进行点击 删除 按钮 6、可以看到的是在选中断点被删除了 来源: CSDN 作者: 于小勇 链接: https://blog.csdn.net/weixin_36670529/article/details/103807788

GDB调试之TUI界面

寵の児 提交于 2020-01-25 06:32:37
TUI(TextUser Interface)为GDB调试的文本用户界面,可以方便地显示源代码、汇编和寄存器文本窗口,TUI使用效果如下图所示。 Tui界面可以通过运行gdbtui或gdb-tui命令进入(其它变种gdb也一样,如arm-none-eabi-gdb-tui),当然也可以进入gdb界面后使用TUI快捷键打开,如C-xC-a快捷键,详见TUI快捷键绑定章节。 1 TUI Overview 在TUI模式中,可以显示以下几个窗口: 命令窗口 用于GDB调试时的命令输入和命令结果输出显示,与普通GDB窗口无异。 源代码窗口 用于显示程序源代码,包括当前运行行、中断以中断标识等。 汇编窗口 显示当前程序的汇编代码。 寄存器窗口 显示处理器的寄存器内容,当寄存器内容发生改变时会高亮显示。 源代码窗口和汇编窗口会高亮显示程序运行位置并以'>'符号标记。有两个特殊标记用于标识断点,第一个标记用于标识断点类型: B 程序至少有一次运行到了该断点 b 程序没有运行到过该断点 H 程序至少有一次运行到了该硬件断点 h 程序没有运行到过该硬件断点 第二个标记用于标识断点使能与否: + 断点使能Breakpointis enabled. - 断点被禁用Breakpointis disabled. 当调试程序时,源代码窗口、汇编窗口和寄存器窗口的内容会自动更新。 TUI运行时

代码调试

非 Y 不嫁゛ 提交于 2020-01-24 22:52:36
1. 条件断点 IDEA 可以设置指定条件的断点,增加我们调试的效率。 public class Test { public static void main(String[] args) { for (int i = 0; i <= 100; i++) { System.out.println(i); } } } 2、在 System.out.println(i);这句话的左侧单击一下,出现一个红色的点,即为断点 3、右击断点,弹出如下对话框,在Condition 框里输入条件 i==66 4、运行debug,进入断点的那一刻,就是 i 等于66的时候 5、第3步的图片上看到的那个快捷键【Ctrl+Shift+F8】,打开后如下图,就是查看所有断点详情的对话框 除了使用快捷键以外,还可以直接在Debug 面板中,点击下图的这个标志(两个断点的标志) 2. 强制返回 IDEA 可以在打断点的方法栈处,强制返回你想要的方法返回值给调用方。非常灵活! 3. 模拟异常 IDEA 可以在打断点的方法栈处,强制抛出异常给调用方。这个在调试源码的时候非常有用。 4. Evaluate Expression IDEA 还可以在调试代码的时候,动态修改当前方法栈中变量的值,方便我们的调试。 快捷键: alt+f8 鼠标点击 5. 回到"上一步" 该技巧最适合特别复杂的方法套方法的场景

聊一聊如何用IDEA追踪Bug?

孤者浪人 提交于 2020-01-24 21:13:05
Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化。通常我们也可以启用Debug模式来跟踪代码的运行流程去学习三方框架的源码。 Debug开篇 首先看下IDEA中Debug模式下的界面。如下是在IDEA中启动Debug模式,进入断点后的界面,我这里是Windows,可能和Mac的图标等会有些不一样。就简单说下图中标注的8个地方。 以Debug模式启动服务,左边的一个按钮则是以Run模式启动。在开发中,我一般会直接启动Debug模式,方便随时调试代码。 断点:在左边行号栏单击左键,或者快捷键Ctrl+F8 打上/取消断点,断点行的颜色可自己去设置。 Debug窗口:访问请求到达第一个断点后,会自动激活Debug窗口。如果没有自动激活,可以去设置里设置,如图1.2。 调试按钮:一共有8个按钮,调试的主要功能就对应着这几个按钮,鼠标悬停在按钮上可以查看对应的快捷键。在菜单栏Run里可以找到同样的对应的功能,如图1.4。 服务按钮:可以在这里关闭/启动服务,设置断点等。 方法调用栈:这里显示了该线程调试所经过的所有方法,勾选右上角的[Show All Frames]按钮,就不会显示其它类库的方法了,否则这里会有一大堆的方法。 Variables:在变量区可以查看当前断点之前的当前方法内的变量。

bochs调试简单操作系统方法

假如想象 提交于 2020-01-19 21:15:42
我用的是bochs 2.6.11 首先进入bochs的调试模式使用的是 ,打开bochsdbg。同理他也会让你选择配置文件。 选择完了配置文件,弹出两个窗口,一个是调试命令行,一个是操作系统窗口 最初的时候,他会显示一些日志,然后注意: 显示了下一条指令的所在地和指令内容。我们观察因为实模式下 BIOS的引导代码实在 0xf000:0xfff0这里,也就是机器一加电后,cs和ip的初始化内容,我们可以看到他要跳转到 0xf000:e05b这里,这个时候才是我们真正的BIOS代码。 之后查看 0x7c00:0000这里,发现他的内容是0000,这个是正常的,毕竟我们的mbr是需要BIOS加载到对应位置的,这个时候BIOS还没有运行呢。 下面引入一下实模式的内存布局,方便没有了解过的小伙伴们学习。 接着引入bochs的调试方法 首先是xp命令 (提示:bochs下的一个字 是 四个字节) xp/ 这后面可以跟 b h w g 分别对应的是 字节 两个字节 一个字 两个字 之后跟内存地址 (注意上面指令指定了一次显示内存单元的大小之后再次查看内存单元就是以一个字节来访问的了, xp/4 0x7c00 xp之后跟数字就是连续查看几个单元,所以应该是查看4个字节) 之后是 u命令 用来将内存数据反汇编成指令 u后面加需要反汇编的指令数和起始地址,例如: u [num] [start]

001/160 CrackMe Acid burn

自闭症网瘾萝莉.ら 提交于 2020-01-19 17:29:56
在 52pojie 上发现大神整理的160个CrackMe CrackMe 来自 【反汇编练习】160个CrackME索引目录1~160建议收藏备用 新手刚开始学习OD,在研究中学习 Name Serial 先随便输入点东西试试 直接搜索字符串发现有2个,进入打上断点 程序在第二个断点处停下 堆栈中有一个疑似注册码的东西 直接粘贴进去验证通过 Serial 和之前的操作相同,都是搜索字符串下断点 序列号都是明文比较,直接就可以看到 Name Serial 算法分析 虽然可以看到序列号,或者更暴力一点把跳转 nop 掉,但是那样就不好玩了,所以还是研究研究算法吧,用 IDA 分析简单一些 C语言写的简易注册机: 注意:username 必须使用 unsigned char,否则中文用户名会出错 # include <stdio.h> int main ( ) { unsigned char username [ 200 ] ; int id ; scanf ( "%s" , username ) ; id = 41 * username [ 0 ] * 2 ; printf ( "CW-%d-CRACKED" , id ) ; return 0 ; } 注册效果: 来源: CSDN 作者: 果光 链接: https://blog.csdn.net/csg999/article

B/S文件断点上传

可紊 提交于 2020-01-19 09:51:02
一、概述 所谓断点续传,其实只是指下载,也就是要从文件已经下载的地方开始继续下载。在以前版本的HTTP协议是不支持断点的,HTTP/1.1开始就支持了。一般断点下载时才用到Range和Content-Range实体头。 HTTP协议本身不支持断点上传,需要自己实现。 二、Range 用于请求头中,指定第一个字节的位置和最后一个字节的位置,一般格式: Range:用于客户端到服务端的请求,可以通过改字段指定下载文件的某一段大小及其单位,字节偏移从0开始。典型格式: Ranges: (unit=first byte pos)-[last byte pos] Ranges: bytes=4000- 下载从第4000字节开始到文件结束部分 Ranges: bytes=0~N 下载第0-N字节范围的内容 Ranges: bytes=M-N 下载第M-N字节范围的内容 Ranges: bytes=-N 下载最后N字节内容 1.以下几点需要注意: (1)这个数据区间是个闭合区间,起始值是0,所以“Range: bytes=0-1”这样一个请求实际上是在请求开头的2个字节。 (2)“Range: bytes=-200”,它不是表示请求文件开始位置的201个字节,而是表示要请求文件结尾处的200个字节。 (3)如果last byte pos小于first byte pos

Visual Studio 快捷键

夙愿已清 提交于 2020-01-19 00:26:26
VS系统通用快捷键: 1、自动排版(类似VC6中的Alt+F8) 编辑.格式化选定内容 Ctrl + K,Ctrl + F 根据周围的代码行,正确缩进选定的代码行。 2、注释与去掉注释功能。 编辑.注释选定内容 Ctrl + K,Ctrl + C 使用编程语言的正确注释语法将代码的当前行标记为注释。 编辑.取消注释选定内容 Ctrl + K,Ctrl + U 从代码的当前行中移除注释语法。 将插入点移动到文档中的下一个大括号处。 编辑.转到大括号 Ctrl + ] 将插入点移动到文档中的下一个大括号处。 编辑.向下滚动一行 Ctrl + 向下键 将文本向下滚动一行。仅可用于文本编辑器。 编辑.向上滚动一行 Ctrl + 向上键 将文本向上滚动一行。仅可用于文本编辑器。 怎么找到解决方案 视图.解决方案资源管理器 Ctrl + Alt + L 显示解决方案资源管理器,它列出当前解决方案中的项目和文件 显示“工具箱” 视图.工具箱 Ctrl + Alt + X 显示“工具箱”,其中包含可包括在代码中或与代码一起使用的控件和其他项。 清除项目中的所有断点 调试.删除所有断点 Ctrl + Shift + F9 清除项目中的所有断点。 调试.反汇编 Ctrl + Alt + D 显示“反汇编”窗口。 调试.切换断点 F9 在当前行设置或移除断点。 VS2008 快捷键 新建项目 Ctrl