debug

Eclipse Debug不为人知的秘密

纵饮孤独 提交于 2020-03-18 13:36:39
某厂面试归来,发现自己落伍了!>>> Debug视图 认识debug视图,红色部分框为线程堆栈视图,黄色部分框为表达式、断点、变量视图,蓝色部分为代码视图。 线程堆栈视图 分别介绍一下这几个按钮的含义: 1.表示当前实现继续运行直到下一个断点,快捷键为F8。 2.表示打断整个进程 3.表示进入当前方法,快捷键为F5。 4.表示运行下一行代码,快捷键为F6。 5.表示退出当前方法,返回到调用层,快捷键为F7。 6.表示当前线程的堆栈,从中可以看出在运行哪些代码,并且整个调用过程,以及代码行号 变量视图 1.为变量名视图,显示当前代码行中所有可以访问的实例变量和局部变量 2.显示所有的变量值 3.可以通过该窗口来改变变量值 断点视图 1.显示所有断点 2. 将当前窗口1中选中的端口失效,再次点击启用。 3.异常断点 表达式视图 表达式视图:表达式视图是Debug过程中较为常用的一个视图,可以对自己的感兴趣的一些变量进行观察,也可以增加一些自己的表达式,也可以查看一行代码的运行结果。 1.表达式 2. 点击此可以新增一个表达式 代码视图 代码视图:用来显示具体的代码。其中绿色部分是指当前将要执行的代码 场景一:小明辛苦了两天终于将自己的负责的任务完成了,第二天转测后,测试找到了小明说,小明的程序有bug,可以是小明经过仔细调试,发现本地没有任何问题,但是测试的环境上确实有问题

Debug Streaming In Hive

独自空忆成欢 提交于 2020-01-09 22:23:10
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 2010-04-07 @ taobao Hive由于QL语言自身的限制, 使得某些数据处理的作业还是需要通过streaming交由脚本(如Python)来处理. 海量数据的处理中, 遇到"脏数据"是很常见的, 但其形式又是不可预见的. 为此我们编写的处理程序, 往往需要一段时间的调试去暴露可能出现的"脏数据". 在用java编写MapReduce ? 的时候, 我们可以捕获出现的未知异常, 同时用System.out.println输出"脏数据"的内容, 以便之后分析. 可惜, 这种"打印"办法在streaming时候不起作用, 因为streaming是通过标准输出来接受脚本处理的结果数据的, 若还是用"打印"的话, "脏数据"并不会出现jobtracker的日志中, 而是被作为结果数据收集了. 为解决这个问题, 我们之后耍点小手段. 以python为例, 当程序处理遇到"脏数据"时, 是会抛出异常的, 这个异常会被jobtracker收集, 其文本信息内容会被记录在日志中. 既然标准输出这条路被堵了, 可"异常"这条路是通的, 也就说可将"脏数据"置于异常中, 这样"脏数据"就会随着异常一起记录在日志中了. 可参考下面python代码 #!/usr/bin/env python from sys import

android Debug调试

半世苍凉 提交于 2020-01-07 14:51:42
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> android Debug调试 通用方法: 设置断点 F6:进入下一行 F5:跳入方法体 跳到指定行:将焦点定位到你想跳到的某一行,然后Ctrl+R F7:从方法体返回 F8:跳到下一个断点 调试有两种: 1、Android Junit Test 2、Android application(调试Android application时当模拟器或真机中出现Waiting For Deugger时不要点击Force Close按钮 来源: oschina 链接: https://my.oschina.net/u/1177327/blog/144367

[ant debug] error:Unable to resolve project tar...

。_饼干妹妹 提交于 2019-12-10 14:05:35
例如 ant debug/release 时报错: Unable to resolve project target 'android-16' 问题解释 :由于此应用在此前的开发时 它的最高android平台被定为 android-16 而此次开发所用的平台为 android-18 所以ant debug/release 时由于找不到合适版本而不能正确执行 解决办法 :修改AndroidManifest.xml的最后一行 将16 ——>18 修改project.properties 的最后一行 将16 ——>18 问题解决 可以ant debug/release 了 来源: oschina 链接: https://my.oschina.net/u/923930/blog/160361

yui的alert在ie10下白屏的解决思路

南笙酒味 提交于 2019-12-09 15:43:32
最近接到一个jira:在ie10下,页面弹出提示框后,背景全部白屏了。 说实话,一看到这样特定浏览器下出现问题的jira我就很头疼,也很畏惧。最开始的思路就是F12 ,debug js代码,看执行哪个js语句后白屏了。但是ie10的debug还是相当不好用,用的非常不顺手。执行来执行去,还是没有找到好的解决方法,就这样拖了一天,实在是无思路,就问我leader了。 结果我leader一来,不是先调试js,而是直接对比 出现正常遮罩的页面 ie10的白屏页面。看看这两者的css有何不同,结果发现chrome下有个 opacity:0,但是ie10没有;而且ie10还多了个iframe,等等细节吧。接着就找那个 opacity,发现在一个js代码中有个判断:if(document.all){//代码1}else{//代码2} 是之前ie6789跟chrome ff的处理不同,所以针对ie浏览器做了特殊处理。但是现在ie10跟chrome的实现又相同了,进入特意为ie修的bug的方法又不正常了!晕死啊!这可真是实实在在的 找bug! 所以我修改一下判断,不用document.all判断,方法如下。不过还没复查,不知道有没有问题。 function getIEVersionGt10() { var userAgent = navigator.userAgent; //这里只是判断了ie10

Debug与Release的区别

老子叫甜甜 提交于 2019-12-06 21:58:54
VC下Debug和Release区别 最近写代码过程中,发现 Debug 下运行正常,Release 下就会出现问题,百思不得其解,而Release 下又无法进行调试,于是只能采用printf方式逐步定位到问题所在处,才发现原来是给定的一个数组未初始化,导致后面处理异常。网上查找了些资料,在这 罗列汇总下,做为备忘~ 一、Debug 和 Release 的区别 Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。 Debug 和 Release 的真正区别,在于一组编译选项。 Debug 版本 参数 含义 /MDd /MLd 或 /MTd 使用 Debug runtime library(调试版本的运行时刻函数库) /Od 关闭优化开关 /D "_DEBUG" 相当于 #define _DEBUG,打开编译调试代码开关(主要针对assert函数) /ZI 创建 Edit and continue(编辑继续)数据库,这样在调试过程中如果修改了源代码不需重新编译 GZ 可以帮助捕获内存错误 Release 版本 参数含义 /MD /ML 或 /MT 使用发布版本的运行时刻函数库 /O1 或 /O2 优化开关,使程序最小或最快 /D

iOS开发-Xcode Debug、Release、Archive、Profile、Analyze

喜你入骨 提交于 2019-12-06 21:58:37
1,Debug和Release版本区别? 众所周知,我们进行iOS开发,在Xcode调试程序时,分为两种方式, Debug 和 Release ,在Target的Setting中相信大家应该看到很多选项都分为 Debug 和 Release ,方便我们分别设置,满足调试和发布的不同需求。 Release是发行版本,比Debug版本有一些优化,文件比Debug文件小 Debug是调试版本,Debug和Release调用两个不同的底层库。通俗点讲,我们开发者自己内部真机或模拟器调试时,使用Debug模式就好,等到想要发布时,也就是说需要大众客户使用时,需要build Release版本,具体区别如下: 一、Debug是调试版本,包括的程序信息更多 二、只有Debug版的程序才能设置断点、单步执行、使用TRACE/ASSERT等调试输出语句 三、Release不包含任何调试信息,所以体积小、运行速度快 那么,问题来了,我们调试程序时,该如何生成(Build)或运行Debug或是Release版本呢? Xcode左上角,点中项目名称-Edit Scheme,或是菜单栏-Product-Scheme-Edit Scheme 弹出界面如下: 当你这里设置Debug时,你build/Run后就是debug版本,相应的,修改成Release模式,出来的就是release版本,这里可以很方便切换。

tomcat 7.0 jmx远程调试

核能气质少年 提交于 2019-12-06 11:01:43
一、tomcat开启jmx 启动脚本中添加 CATALINA_OPTS="-Djava.rmi.server.hostname=本机IP -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=端口 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false " 添加后重启tomcat 因为开启jmx后会随机开启其它随机端口号 如需从其它机器远程调试 需将tomcat所在服务器的防火墙关掉。 二、下载jmxterm 地址 http://sourceforge.net/projects/cyclops-group/files/jmxterm/ 运行jmxterm java -jar jmxterm-1.0-alpha-4-uber.jar 打开后效果如下 java -jar jmxterm-1.0-alpha-4-uber.jar Welcome to JMX terminal. Type "help" for available commands. $> 三、使用jmxterm 1,创建连接 $>open localhost:45219 #Connection to localhost

用Android Sutdio调试NDK

ⅰ亾dé卋堺 提交于 2019-12-04 19:30:44
网上用 Android Studio 调试 NDK 的资料不多且分散。我将这几天踩过的坑及经验纪录一下,方便其它朋友。我将从导入一个 NDK Samples 中的项目开始。 演示代码放在 GitHub 上,每个坑为一次Submit。 开发环境 操作系统: Mac OS 10.11.1 IDE: Android Studio 1.5.1 NDK: android-ndk-r10e Native链接其它库 加载 NDK Samples 中的 hello-gl2 项目后,直接运行会出现如下错误: Error:(39) undefined reference to `glGetError' Error:(41) undefined reference to `__android_log_print' ... 在 build.gradle 文件中添加命令来链接相关库,具体可见 Mac下用Android Studio运行NDK samples 。 无法进入Native代码 解决库链接问题后,程序能运行正确运行在设备上,可无法中断在Native代码上的断点处。 看到一些文章,如 《AndroidNDK开发在本地C/C++源代码中设置断点单步调试详细教程》 说的是ADT上的调试; 《Using Eclipse for Android C/C++ Debugging》 (需翻墙

eclipse远程调试两种模式

此生再无相见时 提交于 2019-12-04 18:53:14
eclipse远程调试两种模式: 一、服务端监听 (1)服务器端需执行程序前加参数 -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 说明:server=y 是指目标应用程序作为服务监听将要连接的远程调试器(常用); suspend=y 是指目标VM将暂停,直到调试器应用程序进行连接(若需要调试启动错误,很有用); suspend=n 是指目标VM不暂停; address=8000 监听端口。 (2)运行服务端程序,程序将暂停 (3)eclipse ==> Debug Configurations ==> Remote Java Application 新建测试工程 (4)选择工程 ==> 模式 Socket Attach ==> 调试服务器IP ==> 调试端口(这里假设8000) (5)运行debug 二、调试端监听(不常用) (1)eclipse ==> Debug Configurations ==> Remote Java Application 新建测试工程 (2)选择工程 ==> 模式 Socket Listen ==> 调试监听端口(这里假设8000) ==> Allow termination of remote VM 打勾 (3)运行debug,程序将暂停,左上显示