程序调试

04-JavaScript基础语法

自闭症网瘾萝莉.ら 提交于 2019-12-01 07:53:47
学习目标: 掌握编程的基本思维 掌握编程的基本语法 typora-copy-images-to: media --- JavaScript基础 HTML和CSS 京东 网页、网站和应用程序 网页:单独的一个页面 网站:一些列相关的页面组成到一起 应用程序:可以和用户产生交互,并实现某种功能。 演示JavaScript的强大 http://impress.github.io/impress.js/ http://naotu.baidu.com/ https://codecombat.com/ https://ide.codemao.cn/ 需要翻墙 https://developers.google.com/blockly/ blockly迷宫 https://blockly-games.appspot.com blockly迷宫不需要翻墙 https://blockly.uieee.com/ JavaScript介绍 JavaScript是什么 HTML CSS JavaScript 编程语言 流程控制 Netscape在最初将其脚本语言命名为LiveScript,后来Netscape在与Sun合作之后将其改名为JavaScript。JavaScript最初受Java启发而开始设计的,目的之一就是“看上去像Java”,因此语法上有类似之处,一些名称和命名规范也借自Java

深入了解GOT,PLT和动态链接

隐身守侯 提交于 2019-12-01 07:28:19
教材学习内容总结 实验楼部分 X86 寻址方式经历三代: 1 DOS时代的平坦模式,不区分用户空间和内核空间,很不安全 2 8086的分段模式 3 IA32的带保护模式的平坦模式 二进制文件可以用od 命令查看,也可以用gdb的x命令查看。有些输出内容过多,我们可以使用 more或less命令结合管道查看,也可以使用输出重定向来查看 od code.o | more od code.o > code.txt gcc -S xxx.c -o xxx.s 获得汇编代码,也可以用 objdump -d xxx 反汇编; 函数前两条和后两条汇编代码,所有函数都有,建立函数调用栈帧 64位机器上想要得到32代码:gcc -m32 -S xxx.c MAC OS中没有objdump, 有个基本等价的命令otool Ubuntu中 gcc -S code.c (不带-O1) 产生的代码更接近教材中代码(删除"."开头的语句) PPT部分 x86-64的CPU包含一组16个存储64位的通用目的寄存器,如图: MOV中的一些常见的数据传送指令 函数调用时栈帧相对应的变化 操作部分 ① 对教材P114的C语言文件 mstore.c 使用命令 gcc -Og -S mstore.c 可产生其对应的汇编文件 mstore.s 但是不做进一步操作;使用命令 gcc -Og -c mstore.c

在idea中调试spark程序-配置windows上的 spark local模式

三世轮回 提交于 2019-12-01 07:28:12
spark程序大致有如下运行模式:       standalone模式:spark自带的模式       spark on yarn:利用hadoop yarn来做集群的资源管理       local模式:主要在测试的时候使用,   这三个模式先大致了解,目前我用到的就是local和yarn。其中,我们写spark程序,一般在idea上写,若每次都要将程序打包,再上传到集群,再运行,将严重影响我们效率,所以在调试代码的时候,一般用local模式,在windows的idea上直接操作。   环境配置步骤如下:只做简要说明,各个步骤的具体安装可自行百度   1、jdk安装,基础环境 2、hadoop安装,spark要用到hadoop的windows的本地hdfs库,若不安装报如下错误:       Failed to locate the winutils binary in the hadoop binary path hadoop具体安装步骤:(1)先拷贝hadoop的tar.gz安装包,也就是安装到linux上的那个安装包,解压即可. (2)去github下载https://github.com/srccodes/hadoop-common-2.2.0-bin,这个里面就是winutils,编译包     (3)将common包解压

eclipse 快速建立PHP调试环境

情到浓时终转凉″ 提交于 2019-12-01 04:57:58
在网上看了许多关于eclipse 建立PHP调试环境的文章,自己去尝试了一翻,但都没有成功,后来自己到Zend的官方去看,原来是版本的问题.现在提供完整的配置步骤.希望初学者能快 速建立好环境,把精力集中到代码而不是配置上.如果您看完还没有配置成功,您还可以点击此处查看FLASH视频. 我的环境如下:Windows-xp+Wamp(Windos Apache Mysql PHP集成安装环境)或者xampp(类似wamp). 1.准备工作 从网上下载wamp5_1.7,或者xampp-win32-1.6.5,参考地址: http://www.codepub.com/d/downpage.php?n=1&id=7656::1162764159 http://www.apachefriends.org/zh_cn/xampp-windows.html#1787 安装过程十分简单,wamp只需要点下一步下一步就可以,而xampp需要解压到盘符的根目录下,否则无法启动. 到Zend的网站下载 zenddebugger: http://downloads.zend.com/pdt/server-debugger/ZendDebugger-5.2.12-cygwin_nt-i386.zip eclipse: http://downloads-source.zend.com/pdt/all-in

IDEA DEBUG 技巧

谁说胖子不能爱 提交于 2019-12-01 02:48:41
原文地址: https://www.cnblogs.com/jajian/p/9410844.html#top Debug模式是开发人员必会的一项调试程序的技能,用来追踪代码的运行流程,线上问题追踪,程序运行异常定位调试,以及在运行过程中参数的变化。IDEA的debug对于新手如何快速上手呢? 0 | 1 一、基本介绍 本篇文章是基于IntelliJ IDEA2018.1.6版本,最新的版本2018.2已经出来了,支持Java11,Debug模式的图标设计虽有微调改动,但是功能大体相通。 上图爬虫的图标就是Debug模式运行键,绿色三角形图标是正常的Run模式,长框中可以设置Debug运行配置。 打断点方法和Eclipse类似,只需要在自己想要调试的代码左边行号栏单击左键就可以,或者快捷键Ctrl+F8 打上/取消断点 Debug启动后,程序会停顿在第一个断点上,debug视图主要界面如下,各个按键分别是什么意思呢? >>> 先来看下最左侧的各个按键,自上而下: 1. 重启项目,快捷键Ctrl + F5,一般在你的代码有改动后可执行这个功能,意味重新启动项目。 2. 恢复程序,快捷键F9,在有多个断点的情况下,会直接跳到下一个断点,如果当前断点为最后一个则直接运行结束。 3. 暂停项目 4. 停止当前启动的项目。快捷键Ctrl + F2 5. View Breakpoints

在Zend Studio中调试PHP(3/5)

折月煮酒 提交于 2019-12-01 02:05:38
本教程将教会您如何调试文件和应用程序以便从您的PHP代码中获取最大的效率和准确性。Zend Studio的调试功能可以检查并诊断PHP代码在本地或远程服务器上的错误。调试器允许您通过设置断点、暂停启动的程序、单步调试代码和检查变量的内容来控制程序的执行。调试应该在您的脚本和应用程序已经充分形成试用和测试阶段试用。 Zend Studio最新试用版下载请猛戳>>> 提供的项目 在整个教程中,在您的项目中插入提供的代码片段。 必备条件 Zend Studio 12.0或以上版本 试用Zend Debugger进行Zend Studio调试 Step 3:设置断点 默认情况下,Zend Studio在PHP代码的第一行已设置停止调试。我们的下一步是添加一个额外的断点来指定在代码的什么地方暂停并进行调试。 1. 在新的'debug.php“文件中,找到第37行。 2. 双击垂直标尺线的左侧;或者选择该行,然后跳转到Run | Toggle Breakpoint;或者使用Ctrl+Shift+B。 一个蓝色的点就会出现,这表明断点已设置。 3. 保存文件。 有兴趣的朋友可以 点击查看更多相关教程>> 来源: oschina 链接: https://my.oschina.net/u/2317468/blog/752525

C零基础课程-04-VS调试入门

巧了我就是萌 提交于 2019-12-01 01:37:44
目录 动态调试有什么用 什么是VS调试 启动调试的几种方式 断点和单步介绍 调试窗口的设置 内存窗口 监视窗口 栈回溯窗口(调用堆栈窗口) 动态调试有什么用 什么是VS调试 VS调试,使得我们可以将程序“暂停”住,慢慢研究程序的执行过程,有助于我们理解程序的运行逻辑。 启动调试的几种方式 F10(调试菜单/逐过程) F5(调试菜单/启动调试) 断点和单步介绍 单步步过(F10):一行一行执行程序 单步步入(F11):它与单步步过几乎一样,除了遇到函数时:遇到函数时,F10的作用是将函数作为一个整体跨过,而F11是会进入到函数内部(如果有源码的话) 断点:断点类似于“拦路打劫”,如果程序的执行过程中遇到了断点,那么程序会被“暂停”住。在VS中,使用F9切换断点。 调试窗口的设置 务必 先进入到调试状态,才能设置以下窗口。 内存窗口 内存窗口可以查看指定内存地址的内存内容。 监视窗口 监视窗口可以监视当前作用域可见范围内的变量名、表达式等。 栈回溯窗口(调用堆栈窗口) 栈回溯窗口显示了当前函数的调用关系。 来源: https://www.cnblogs.com/shellmad/p/11646133.html

记录一次安卓动态调试lib库

馋奶兔 提交于 2019-11-30 22:51:10
这道题是iscc 2017中的安卓第二题,所有的算法都在lib库中,而lib库又是加了壳的,所以就用动态调试解决吧。第一次动态调试安卓,就写的详细一些吧。 文中用到 1.能正常运行这个crackme的手机一部,需要root(本人手上的主力机是安卓7.1的就运行不了) 2.IDA一个 3.IDA神级插件Keypatch 4.安卓调试adb 5.python 6.这个crackme 题目链接 链接: http://pan.baidu.com/s/1kVLYYOJ 密码:e2tj 解析 准备 首先在手机上安装这个crackme,这个不需要多说。 通过jeb的逆向,发现所有与题目解题相关的代码都在libtutu.so中。ida直接载入会发现这个so是被加密的。 那就开始动态调试。 在ida的目录下有一个叫dbgsrv的文件夹 此次我们动态调试所需要的是android_server。 通过各种方法,把它放到 /system/bin/ 目录下,并给予执行权限 然后在电脑上执行 adb shell ,输入 su 拿到root权限后再输入 andoird_server 。 看到 Listening on port #23946... 再开一个命令行窗口,输入 adb forward tcp:23946 tcp:23946 进行端口转发。 至此,准备工作就完成了。 IDA连接调试

记录一次安卓动态调试lib库

柔情痞子 提交于 2019-11-30 22:38:38
这道题是iscc 2017中的安卓第二题,所有的算法都在lib库中,而lib库又是加了壳的,所以就用动态调试解决吧。第一次动态调试安卓,就写的详细一些吧。 文中用到 1.能正常运行这个crackme的手机一部,需要root(本人手上的主力机是安卓7.1的就运行不了) 2.IDA一个 3.IDA神级插件Keypatch 4.安卓调试adb 5.python 6.这个crackme 题目链接 链接: http://pan.baidu.com/s/1kVLYYOJ 密码:e2tj 解析 准备 首先在手机上安装这个crackme,这个不需要多说。 通过jeb的逆向,发现所有与题目解题相关的代码都在libtutu.so中。ida直接载入会发现这个so是被加密的。 那就开始动态调试。 在ida的目录下有一个叫dbgsrv的文件夹 此次我们动态调试所需要的是android_server。 通过各种方法,把它放到 /system/bin/ 目录下,并给予执行权限 然后在电脑上执行 adb shell ,输入 su 拿到root权限后再输入 andoird_server 。 看到 Listening on port #23946... 再开一个命令行窗口,输入 adb forward tcp:23946 tcp:23946 进行端口转发。 至此,准备工作就完成了。 IDA连接调试

eclipse远程调试

元气小坏坏 提交于 2019-11-30 21:04:59
在开发调试程序当碰到本地功能正常而测试环境出现问题时需要用到远程调试的功能。现针对eclipse下远程调试服务器上的web程序或者java程序作出总结 eclipse远程调试java程序 第一步:远程服务器上的java程序以调试模式启动并指定调试端口 如下截图在远程服务器上用java命令以调试模式启动dubbo服务的java程序并指定调试端口为9990(这个端口后面会用到) nohup java -Xdebug -Xrunjdwp:transport=dt_socket,address=9990,server=y,suspend=n -Xbootclasspath/a::/app/appsoft/taskpool/conf -jar taskpoolservice-0.0.1.jar com.psbc.cos.TaskpoolserviceApplication && tail -f nohup.out nohup java -Xdebug -Xrunjdwp:transport=dt_socket,address=9990,server=y,suspend=n com.alibaba.dubbo.container.Main > /local/tmp/debug.logs 2>&1 & 第二步:在eclipse中配置远程调试并打上断点以debug模式启动与服务器上同样的程序