如上图,是一个十分简单的布局. root view 上加了一个 button 和一个 webview. 不加标识符的样子 视图层级中没有标识  只有 UIView.WKWebView 之类,如果view很多,就很难分得清. 约束没有标识符  只知道 uiview 和uibutton 中心对齐,不知道哪个view 和哪个 button. autoLayout 日志中没有标识符 (lldb) po [0x7f8aaa50e6d0 _autolayoutTrace] •UIWindow:0x7…
作为一个服务器端的应用,最基本的要求就是稳定,当然要做一个稳定的服务器端,需要涉及到很多方面, 内存泄露就是稳定的一个致命杀手,因为服务器的物理内存是有限的,即使一个功能有很小的内存泄露,经过 长时间的运行,也会累积成一个非常大的内存泄露,导致服务器内存耗尽,系统崩溃.因此珍惜服务器资源是 开发者必须重视的(当然了,对于内存无法管理的语言及框架,那就算了). 最新版的kbmmw 中加入了内存调试功能,这个功能不但可以应用在kbmmw 服务器中,你也可以在其他程序中 使用. 其实自从delphi…
前面介绍了使用IDA动态调试smali,这种方法设置简单,不用重打包,用起来方便,但是如果变量类型设置错误则会马上退出调试,这是让人不爽的地方,而使用Android studio则不会.   0x01    工具①Android Studio最新版.②apktool尽量使用最新版的.③ideasmali插件.下载地址https://github.com/JesusFreke/smali/wiki/smalidea 0x02     具体步骤安装ideasmali插件,选择File->Settin…
PHP使用Xdebug进行远程调试 翻译 by mylxsw posted on 2014/07/14 under 技术文章 > 编程语言 Xdebug提供了客户端与PHP脚本进行交互的接口,这一章将会介绍如何让PHP和Xdebug开启这个特性,并且介绍一些常用的客户端. 概述 Xdebug(远程)调试器允许测试数据结构,步进并且调试你的代码.Xdebug提供了两种协议用于与其进行交互:在Xdebug1.3和2中旧的GDB协议和Xdebug2中实现的DBGp协议. 客户端 Xdebug2 为DB…
使用 pycharm 进行 python 代码远程调试 pycharm 的远程调试是从远程机器连接到本地机器,需要在远程机器的py文件中指定本地机器的IP和端口. 远程机器上,通过easy_install安装pycharm自带的pycharm-debug.egg(在pycharm的安装目录下). 如果是python3,使用pycharm-debug-py3k.egg. 将egg拷贝到远程机器上,安装. 在需要调试的py文件上,在开头处,导入调试工具 import pydevd pydevd.se…
转自:http://my.oschina.net/fgq611/blog/113249 内核开发比用户空间开发更难的一个因素就是内核调试艰难.内核错误往往会导致系统宕机,很难保留出错时的现场.调试内核的关键在于你的对内核的深刻理解. 一  调试前的准备 在调试一个bug之前,我们所要做的准备工作有: 有一个被确认的bug. 包含这个bug的内核版本号,需要分析出这个bug在哪一个版本被引入,这个对于解决问题有极大的帮助.可以采用二分查找法来逐步锁定bug引入版本号. 对内核代码理解越深刻越好,同…
在子进程中sleep.然后attach上去. gdb --pid=123456 ps出子进程的id,gdb attach 进程号. http://www.ibm.com/developerworks/cn/linux/l-cn-gdbmp/index.html 实际上,GDB 没有对多进程程序调试提供直接支持.比如.使用GDB调试某个进程,假设该进程fork了子进程,GDB会继续调试该进程,子进程会不受干扰地执行下去. 假设你事先在子进程代码里设定了断点,子进程会收到SIGTRAP信号并终止.…
目录[-] 一  调试前的准备 二  内核中的bug 三  内核调试配置选项 1  内核配置 2  调试原子操作 四  引发bug并打印信息 1  BUG()和BUG_ON() 2  dump_stack() 五  printk() 1  printk函数的健壮性 2  printk函数脆弱之处 3  LOG等级 4  记录缓冲区 5  syslogd/klogd 6  dmesg 7 注意 8 内核printk和日志系统的总体结构 9  动态调试 六  内存调试工具 1  MEMWATCH 2…
来源: http://my.oschina.net/alphajay/blog/52172 http://www.cnblogs.com/baiyanhuang/archive/2009/11/09/1730726.html 1. Perl自带的调试器(功能最全,就是最烦) Perl调试器的用法: 缺省的Perl调试器就是perl解释器本身,另外还有图形界面的调试器.因为我们在开发程序时一般都使用telnet访问服务器,所以这里主要介绍一下缺省的命令行调试器的用法. 用-d 命令行选项启动Per…
3.0版本的调试模式开启,必须在项目入口文件中添加常量APP_DEBUG定义,如下: define('APP_DEBUG',True); // 开启调试模式 开启调试模式后,你可能感觉不到什么变化,不管你信不信,调试模式已经开启了.因为,新版的调试模式并没有默认开启页面Trace(这个功能在之前的版本是伴随着调试模式自动开启的),现在页面Trace功能是单独设置的,哪怕你在部署模式下也可以单独开启页面Trace信息显示.总之,当你需要页面Trace信息功能的时候,手动配置开启,例如: 'SHOW…
(一) 启动VBA 打开excel ,选项-自定义功能区-开发工具, 在界面的开发工具下选择 宏安全:  勾选 启用所有 excel保存xlsm后缀的格式才可以用宏! 若启动VBA编辑器(以下简称VBE)出现内存溢出, 自行百度, 更改一个programs 下的一个文件即可. 点击上述第一个 visual basic 打开编辑器界面如下, 或者Alt+F11快捷键. 这个是工程资源管理器, 不同类型的代码要写在不同的地方, microsoft excel对象存放事件编程代码; 窗体存放程序代码;…
Linux内核调试方法总结 一  调试前的准备 二  内核中的bug 三  内核调试配置选项 1  内核配置 2  调试原子操作 四  引发bug并打印信息 1  BUG()和BUG_ON() 2  dump_stack() 五  printk() 1  printk函数的健壮性 2  printk函数脆弱之处 3  LOG等级 4  记录缓冲区 5  syslogd/klogd 6  dmesg 7 注意 8 内核printk和日志系统的总体结构 9  动态调试 六  内存调试工具 1  ME…
原文链接:Debugging Node.js Application Using ndb Google Chrome 实验室发布了一款新的 node debug 工具来提升开发者体验,本文将会全面介绍 ndb 这款 node 工具 熟悉 node 的人可能知道,node 一直支持一个无头调试工具: 它使用了一个已经被弃用的协议叫做 V8 调试器协议,并且它并不算是一个功能完备的调试器,只有一些简单的检查功能. 过去在这种情况下,一个新的基于 V8 调试器协议和 Blink 的调试工具出现在开发者…
0x01    工具①Android Studio最新版.(用的1.5)②apktool尽量使用最新版的.(反编译本人用baksmali-2.1.3.jar)③smalidea插件.下载地址https://github.com/JesusFreke/smali/wiki/smalidea 0x02     具体步骤安装smalidea插件,选择File->Settings->Plugins,安装之前下载的smalidea插件. 以调试状态启动app (这一步不是必须的,可以先开启app)  …
概述 服务端程序运行在一台远程服务器上,我们可以在本地服务端的代码(前提是本地的代码必须和远程服务器运行的代码一致)中设置断点,每当有请求到远程服务器时时能够在本地知道远程服务端的此时的内部状态 测试项目 创建方式参考:[Java]Maven Tomcat插件使用 项目中新增了一个测试的Servlet,如下: public class HelloWorldServlet extends HttpServlet { @Override protected void service(HttpServ…
0x00    前言 之前对于app反编译的smali汇编语言都是静态分析为主,加上一点ida6.6的动态调试,但是ida的调试smali真的像鸡肋一样,各种不爽,遇到混淆过的java代码就欲哭无泪了.后来知道IDEA用一款插件也可以实现smali的动态调试,但是只有14.1之后的版本才支持.idea是一款商业软件,懒得去找各种破解版,就想着用androidstudio来代替idea来达到动态调试的目的. 0x01    工具 ①Android Studio 1.5Preview,不清除低版本的…
本文转自 http://ruikq.github.io/ios/autolayout/uiscrollview/2015/01/27/iOS-autolayout%E6%80%BB%E7%BB%93.html autolayout, and uiscrollview 以前学习iOS的时候没怎么接触过autoLayout,自从iPhone6个6+出来之后一直在为以前的app做适配,所以使用了大量的autoLayout做适配,一开始很不习惯,但是越用越觉得好用,接触到现在遇到很多问题,在这里总结一下…
http://www.ibm.com/developerworks/cn/linux/l-kdb/index.html 本文将首先介绍 Linux 内核上的一些内核代码监视和错误跟踪技术,这些调试和跟踪方法因所要求的使用环境和使用方法而各有不同,然后重点介绍三种 Linux 内核的源代码级的调试方法. 调试是软件开发过程中一个必不可少的环节,在 Linux 内核开发的过程中也不可避免地会面对如何调试内核的问题.但是,Linux 系统的开发者出于保证内核代码正确性的考虑,不愿意在 Linux 内核…
将详细分析Windows调试的本机接口.希望读者对C和通用NT内核体系结构和语义有一些基本的了解.此外,这并不是介绍什么是调试或如何编写调试器.它可以作为经验丰富的调试器编写人员或好奇的安全专家的参考. 本机调试 现在是时候看看事情的本机方面,以及ntdll.dll中的包装层如何与内核通信.DbgUi层的优点是它允许更好地分离Win32和NT内核,而NT内核一直是NT设计的一部分.NTDLL和NTOSKRNL是一起构建的,所以他们对彼此有复杂的了解是正常的.它们共享相同的结构,需要有相同的系统调…
1.在linux tomcat 下面的 bin 目录下增加一个远程调试的命令: declare -x CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9876" 端口为:9876.   2.重启tomcat 服务    查看端口是否启用命令:netstat -an|grep 9876        …
Java所有的组成部分都需要名字. 类名.变量名 以及方法名 都被称为标识符. 一.规则 Ⅰ.首字符 规则:所有的标识符都应该以字母(A-Z 或者 a-z).美元符($).下划线(_)开始. 示例:text.Text._text.$text Ⅱ.非首字符 规则:首字符之后可以是字母(A-Z 或者 a-z).美元符($).下划线(_).数字的任意组合字符串. 示例:text.tExt.t$ext.t_ext.t1ext Ⅲ.关键字 规则:Java有已经定义好的关键字,不能使用关键字作为标识符. 图…
本文博客地址:http://blog.csdn.net/qq1084283172/article/details/70500488 一.Android内核源码的选择 Android手机设备内核源码的调试需要外部硬件设备的支持,调试步骤比较麻烦.相对来说,Android模拟器内核源码的调试就比较简单了,这里以Android模拟器内核源码的调试为例.首先创建一个Android API 19(Android 4.4.x版本)的Android模拟器,然后运行该Android模拟器.在 ubuntu 14…
本文博客地址:https://blog.csdn.net/QQ1084283172/article/details/81187769 最近这段时间比较郁闷,就不分享和学习比较复杂的Android逆向技巧和工具了,每天进步一点就好.这里介绍一下,作者deskid编写的开启Android应用调试选项的工具XDebug,该工具也是基于Xposed框架实现的,也就是在Android应用的启动之前,设置Android应用的调试选项标志为开启,这样Android应用启动的时候,就可以调试模式进行启动. 作者…
Log4j 是什么 Log4j 是由 Apache 提供的开源日志框架,用于帮助用户处理日志信息. Log4j 能将日志信息分级打印和存储,而且提供了日志不同的存储方式,我们可以将日志发送到控制台,或者文件,或者数据库中等. 日志信息分级如下:(以轻到重) DEBUG:调试 INFO:信息 WARN:警告 ERROR:错误 FATAL:致命 如果打印 ERROR 和 FATAL 这两个日志级别,说明系统存在严重问题,必须解决或修复. Log4j 通过一个 log4j.properties 日志配…
本文转载自: http://blogs.360.cn/360mobile/2016/10/24/android_escape/ 摘    要 传统逃逸技术涉及网络攻防和病毒分析两大领域,网络攻防领域涉及的逃逸技术主要为网络入侵逃逸技术,病毒分析领域涉及到的逃逸技术主要包括针对静态分析.动态分析的木马逃逸技术. 本文介绍的Android木马逃逸技术研究了针对用户感知.杀软查杀.沙箱动态养殖和人工分析的各种逃逸技术. 大多数Android木马的作恶途径是长期留存用户终端,通过持续性作恶获取收益. 为…
本文是PLY (Python Lex-Yacc)的中文翻译版.转载请注明出处.这里有更好的阅读体验. 如果你从事编译器或解析器的开发工作,你可能对lex和yacc不会陌生,PLY是David Beazley实现的基于Python的lex和yacc.作者最著名的成就可能是其撰写的Python Cookbook, 3rd Edition.我因为偶然的原因接触了PLY,觉得是个好东西,但是似乎国内没有相关的资料.于是萌生了翻译的想法,虽然内容不算多,但是由于能力有限,很多概念不了解,还专门补习了编译原…
Nmap是一款开源免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具.软件名字Nmap是Network Mapper的简称.Nmap最初是由Fyodor在1997年开始创建的.随后在开源社区众多的志愿者参与下,该工具逐渐成为最为流行安全必备工具之 一.最新版的Nmap6.0在2012年5月21日发布,详情请参见:www.nmap.org. 端口扫描: 常见端口与对应服务: 80 http 443 https 53 dns 25 smtp 22…
上章回顾 宏定义特点和注意细节 条件编译特点和主要用处 文件包含的路径查询规则 C语言扩展宏定义的用法 第二章 第二章 C语言编程实践 C语言编程实践 预习检查 异或的运算符是什么 宏定义最主要的特点是什么 请列举条件编译三大用法 在文件包含中<> 和“” 有什么区别 如何取得整数register中的第五位值 本章结构 C语言编程实践 C语言编程实践 嵌入式家园 www.embedclub.comC语言编程调试 上海嵌入式家园-开发板商城 http://embedclub.taobao.com…
QQ:1258496116 端口:80http 443https 53dns 25smtp 22ssh 23telnet20.21ftp 110pop3 119nntp 143imap 179bgp 135-139.445RPC 500vpn 5060voip 123ntp)nmap ip地址/域名 支持CIDR.(连续的ip用-连接)[空选项主机存活.SYN端口]域名解析:n 不用解析域名.R为所有目标解析域名.--system-dns使用系统域名解析器解析(慢).--dns-server 服…
Python Lex Yacc手册 本文是PLY (Python Lex-Yacc)的中文翻译版.转载请注明出处.这里有更好的阅读体验. 如果你从事编译器或解析器的开发工作,你可能对lex和yacc不会陌生,PLY是David Beazley实现的基于Python的lex和yacc.作者最著名的成就可能是其撰写的Python Cookbook, 3rd Edition.我因为偶然的原因接触了PLY,觉得是个好东西,但是似乎国内没有相关的资料.于是萌生了翻译的想法,虽然内容不算多,但是由于能力有限…