断点

一个普通类就能干趴你的springboot,你信吗?

痞子三分冷 提交于 2019-12-03 13:13:46
摘自: https://www.cnblogs.com/rongdi/p/11780204.html 一个普通类就能干趴你的springboot,你信吗?   先声明本人并不是标题党,如果看了本篇文章并且认为没有得到任何收获,请您随便留言骂我,本人绝不还口,已经对springboot了如指掌大大神,求放过!   不BB了,直接上代码,请各位在自己的springboot项目随便一个包下复制进去如下类(不要修改什么东西),如果你的springboot还能站起来算我输! @Component public class Environment { }   运行springboot的启动类会报如下错误,然后你删除这个类,你的springboot又能健步如飞了,你可能就会怀疑人生了,这代码有毒。先说明我的springboot是2.1.7.RELEASE,我也试了最新的2.2,报错基本一致! 2019-11-02 00:42:46.181 INFO 13568 --- [ main] com.rdpaas.platform.demo.RunApplication : Starting RunApplication on DESKTOP-9KL4U5L with PID 13568 (E:\project2018\platform\demo\target\classes started by

ASP.NET大文件断点上传

末鹿安然 提交于 2019-12-03 10:36:10
HTML 部分 <% @ Page Language ="C#" AutoEventWireup ="true" CodeBehind ="index.aspx.cs" Inherits ="up6.index" %> <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> < html xmlns ="http://www.w3.org/1999/xhtml" > < head > < meta http-equiv ="Content-Type" content ="text/html; charset=gb2312" /> < title > up6- 多标签演示页面 </ title > < link href ="js/up6.css" type ="text/css" rel ="Stylesheet" charset ="gb2312"/> < script type ="text/javascript" src ="js/jquery-1.4.min.js"></ script > < script type ="text/javascript" src ="js/json2

AndBug-android调试工具

前提是你 提交于 2019-12-03 10:11:20
AndBug的主页是:https://github.com/swdunlop/AndBug 安装AndBug 安装很简单,只要两步 1. 下载源代码 git clone https://github.com/swdunlop/AndBug.git 2. 编译 make 如果提示没有头文件,先安装python-dev 使用AndBug 假设有这样一个例子: 我们有一个apk,名字叫做HttpRequest.apk,它的界面包括一个按钮和一个文本框,当我们单击按钮的时候,程序会去访问一个固定的网页,并将页面的代码显示在文本框中,而这个网页的URL我们是不知道的,如下图所示, 现在我们的任务是要找出这个URL是什么(当然,对于这个简单的例子,我们通过抓包或者静态反编译都能解决这个问题)。 我们将通过AndBug来完成这个工作。 1. 首先在模拟器中启动apk,在命令行下输入 adb shell ps,找到相应的进程pid,在这个例子中pid是243 2. 进入AndBug目录,输入PYTHONPATH=lib ./andbug shell –p 243,不出意外的话就能attach上目标进程了 3. 我们可以在命令行中输入各种命令,输入”help”可以看到所有可用的命令,常用的命令有: classes: 查看加载的class Break: 下断点 suspend: 暂停进程 resume

Python调试工具

痴心易碎 提交于 2019-12-03 10:01:14
1. 日志 通过日志或者print来打印变量。必要时可以打印 locals() 和 globals() 建议使用logging.debug()来代替print,这样到了正式环境,就可以统一删除这些日志。 2.trace Python有个trace模式,可以打印整个程序的执行流 # encoding=utf8 def f(): print 'aa' if __name__ == '__main__': f() 例如这段简单的程序,执行 python -mtrace --trace test.py 就会输出下面的日志: --- modulename: test, funcname: <module> # test模块,module级函数 test.py(2): def f(): #test.py的第2行,执行def f命令定义函数 test.py(6): if __name__ == '__main__': test.py(7): f() --- modulename: test, funcname: f test.py(3): print 'aa' aa --- modulename: trace, funcname: _unsettrace trace.py(80): sys.settrace(None) 可以详细得看到这代代码在Python中的执行流程。 当代码比较复杂

gdb, pdb笔记

匆匆过客 提交于 2019-12-03 05:04:59
gdb gdb --args yourprogram 常用命令 r(run):从头开始运行 c(continue):继续运行 b(breakpoint) filepath:line or namespace::function(type):断点 s(step):运行当前行代码,会进入子函数 n(next):运行当前行代码,不会进入子函数 bt(backtrace):查看当前函数栈 until [line]:运行直到推出循环体,或者到指定行号 d(delete) n:删除第n个断点 disable n:暂停第n个断点 clear n:清除第n行的断点 info [threads, breakpoints]:查看线程,断点信息 t(thread) n:进入第n个线程 Ctrl+A+X可以开关图形化界面 p(print) x:输出x watch x:监控x,当x发生变化的时候停住并显示x display x:单步调试时,每一次都重新打印x q(quit):退出gdb pdb python3 -m pdb yourprogram or add "import pdb;pdb.set_trace()" in your program 用法和gdb很相似 但是没有图形化界面,也不能调试多线程 来源: https://www.cnblogs.com/Randolph87/p/11779183

Fiddler的详细介绍

*爱你&永不变心* 提交于 2019-12-03 02:12:34
Fiddler的详细介绍 Fiddler的详细介绍 一、Fiddler与其他抓包工具的区别  1、Firebug虽然可以抓包,但是对于分析http请求的详细信息,不够强大。模拟http请求的功能也不够,且firebug常常是需要“无刷新修改”,如果刷新了页面,所有的修改都不会保存;  2、Wireshark是通用的抓包工具,能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容,但如果是TCP、UDP协议可以用wireshark;  3、Httpwatch也是比较常用的http抓包工具,但是只支持IE和firefox浏览器(其他浏览器可能会有相应的插件); 而Fiddler 是一个使用本地 127.0.0.1:8888 的 HTTP 代理,任何能够设置 HTTP 代理为 127.0.0.1:8888 的浏览器和应用程序都可以使用 Fiddler。 二、Fiddler的工作原理  Fiddler是位于客户端和服务器端的HTTP代理,也是目前最常用的http抓包工具之一 。 它能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据。  既然是代理,也就是说:客户端的所有请求都要先经过Fiddler,然后转发到相应的服务器,反之

chrome浏览器跳过(忽略)所有的js断点

匿名 (未验证) 提交于 2019-12-03 00:40:02
在调试程序时我们经常通过打断点的方式来跟踪代码的执行流程,所以可能会在很多时候打很多断点,当我们知道了程序大概的执行流程之后,这时候断点就不太需要了。但是我们又不想马上把所有的断点清除掉,因为我们打的这些断点很可能是程序执行时的关键步骤,下次或许还会用到这些断点,这时我们可以通过工具的“ 跳过所有断点 ”这个功能来实现我们的需求。下面先讲chrome如何跳过所有的断点,再介绍一下Eclipse怎么跳过所有断点。 版权声明:本文为博主原创文章,未经博主允许不得转载。 原文地址: 1、chrome浏览器拦截所有断点   按照上图的序号点击,就能调试js断点,注意第4步置灰,表示: 激活所有断点 。 2、chrome浏览器跳过所有断点 忽略所有断点 。 3、Eclipse跳过所有断点   这个很好找,就在Eclipse的菜单栏处,通常都是拦截所有的断点,当需要跳过所有断点时,点击一红圈里的按钮就会忽略所有断点。 全文完 原文:https://www.cnblogs.com/poterliu/p/9273416.html

ollydbg入门记录

匿名 (未验证) 提交于 2019-12-03 00:40:02
1.软件窗口说明 OllyDBG 中各个窗口的名称如下图。简单解释一下各个窗口的功能, 反汇编窗口:显示被调试程序的反汇编代码,标题栏上的地址、HEX 数据、反汇编、注释可以通过在窗口中右击出现的菜单 界面选项->隐藏标题 或 显示标题 来进行切换是否显示。用鼠标左键点击注释标签可以切换注释显示的方式。 寄存器窗口:显示当前所选线程的 CPU 寄存器内容。同样点击标签 寄存器 (FPU) 可以切换显示寄存器的方式。 信息窗口:显示反汇编窗口中选中的第一个命令的参数及一些跳转目标地址、字串等。 数据窗口:显示内存或文件的内容。右键菜单可用于切换显示方式。 堆栈窗口:显示当前线程的堆栈。 要调整上面各个窗口的大小的话,只需左键按住边框拖动,等调整好了,重新启动一下 OllyDBG 就可以生效了。 2.软件快捷键 F2 //下断点 F3 //加载一个可执行程序 F4 //程序执行到光标处 F5 //缩小,还原当前窗口 F7 //单步步入 F8 //单步步过 F9 //直接运行程序,遇到断点处,程序会暂停 Ctrl+F2 重新运行程序到起始处,用于重新调试程序 Ctrl+F9 //执行到函数的返回处,用于跳出函数 Alt+F9 //执行到用户代码处,用于快速跳出系统函数 Ctrl+G //输入十六进制地址,快速定位到该地址处 Ctrl+F2 //重新运行当前调试的程序 Alt+F2

ollydbg使用――反汇编入门

匿名 (未验证) 提交于 2019-12-03 00:34:01
反汇编需要汇编语言的基础,感觉可以同时学, ollydbg快捷键: F2――下断点,也就是指定断点的地址; F3――加载一个可执行程序,进行调试分析; F4――程序执行到光标处; F5――缩小还原当前窗口; F7――单步步入; F8――单步步过;(Ctrl+F8可以自动步过并设置断点) F9――直接运行程序,遇到断点处,程序暂停; Ctrl+F2――重新运行程序到起始处,一般用于重新调试程序; Ctrl+F9――执行到函数返回处,用于跳出函数实现; Alt+F9――执行到用户代码处,用于快速跳出系统函数; Ctrl+G――输入十六进制地址,快速定位到该地址处; 下面将要通过反汇编,改变程序的输出,举个例子: 先贴这次用的exe程序的C语言源码(非常简单的初学代码): #include <stdio.h> #include <stdlib.h> int main() { } 很显然,当我们输入a不为0时,就会输出YES,输入a=0时,就会输出NO,如下图: 用ollydbg打开这个exe程序, Ctrl+F8走到我们要调试的地方,并设置断点,手动设置的话,需要一步步按F8,走到需要调试的地方按F2设置断点: 红色说明已经设置了断点,然后我们再按Ctrl+F2重新载入一下,F9走到刚才设置的断点处: 按F7单步步入,进入 这里我们已经看到了程序输出的YES和NO,就不再试了