1.前言 本文主要介绍在XCode5环境下,如何根据App自己生成的crashlog来调试真机上运行时产生的crash问题. 2. 步骤 (1)构造一段会crash的代码,并放到viewDidLoad里面,如下图所示: 以上代码会在objectAtIndex处因为数组越界而crash (2)在程序中捕获crash,生成crashlog,并保存到程序自己的沙盒中,如果需要分析线上bug,也可以将log文件上传到自己的服务器中. 捕获crash很简单,主要是以下步骤: 在didFinishLaunc…
前言 之前调试前端bug都是在开发环境中做完并多次测试没有问题之后发布测试环境,验收合格之后发布生产.但生产环境偏偏会有和开发和测试环境不一致的情况,例如测试环境需要加密,而开发环境先不加密,测试环境传给我们的时间格式和生产环境时间格式不一致,数组对象不一致等导致线上生产报错的bug. 为了更好的在线上环境检测到具体的bug,节省我们在本地把地址改为生产的地址并走多一遍流程测试的麻烦,Chrome浏览器dbug测试就显得尤为重要了. 一.定位js代码并标记dbug 首先F12打开控制台,然后选择…
因为公司项目需要兼容SEO,同时我们也一直希望能够真正的实现前后端分离,于是毫不犹豫的选择了nuxt. 话说要重构前后端分离真是一个大工程,由于各种原因我们团队花了近两年时间都没有完成,最近才又重启把这个事情做起来,先搞了一个独立的小模块,我觉得主要以下两个点特别重要: 1:团队稳定且对于系统业务已经熟悉.特别是对于一个运行了几年的一个系统来说,前后端分离的工程量之大可能超乎你的想象,因为系统越大.运行越久,那业务复杂度越高,隐性规则越多 2:有时间或者说短期内没有什么其他项目 ----好吧,开…
K8S环境下研发如何本地调试?kt-connect使用详解 背景 注:背景有点啰嗦,讲讲一路走来研发本地调试的变化,嫌烦的可以直接跳过,不影响阅读. 2019年 我在的公司当时是个什么情况,只有两个Java应用,还都跑在一个Tomcat Servlet容器. 当时是如何本地调试?都是研发自己电脑装个Mysql,装个Tomcat,自己电脑运行调试,好处嘛就是后端研发互不干扰,想怎么改就怎么改,APP端研发就直连后端的笔记本调试.上线部署嘛就是一个研发手动编译个Jar包丢到云服务器上面,大体就是个草…
在windows环境下利用github客户端我们可以直接拥有可视化的界面来管理工程,当然你也可以选择你喜欢的命令行工具来做.今天我分享一个比较快速的方式来配置git环境. 先去下载github的windows客户端:https://windows.github.com/ 下载完安装后其实就搞定了一大半了.接下来我们把: C:\Users\[你的用户名]\AppData\Local\GitHub\PortableGit_c2ba306e一大串数字\bin C:\Users\[你的用户名]\AppD…
大家平时肯定都用过火狐的Firebug或者谷歌的调试工具来调试JS,但遗憾的是我们不能像编辑html,css那样来直接新增或者删除JS代码. 虽然可以通过调试工具的控制台来动态执行JS代码,但有时候却远远不够用. 特别是当产线环境不能随意修改文件情况下,用线上环境来调试本地代码更是迫切的需求. (往往本地测试通过,上线后却是各种bug.) 今天分享一下如何用Fiddler来修改并调试线上的JS代码. 以博客园首页为例子,用我本地的一个js文件来替换它的一个js. 查看首页源码发现一个js,就拿它…
chrome浏览器调试线上文件映射本地文件 通过ReRes让chrome拥有路径映射的autoResponse功能. 前端开发过程中,经常会有需要对远程环境调试的需求.比如,修改线上bug,开发环境不在本地等等.我们需要把远程css文件或者js映射到本地的文件上,通过修改本地文件进行调试和开发.通常我们可以通过以下方法来实现映射: 1.修改host文件——只能把域名映射到IP 2.使用Apache或者nginx搭建反向代理——需要装环境,配置相对繁琐 3.使用Fiddler中的AutoRespn…
Windows环境下用C#编程将文件上传至阿里云OSS笔记 本系列文章由ex_net(张建波)编写,转载请注明出处. http://blog.csdn.net/ex_net/article/details/24962567 作者:张建波 邮箱: 281451020@qq.com  欢迎来信交流! 第1步: 下载阿里云OSS的SDK包,因为笔者的环境是PHP服务,所下面载的是PHP的SDK包 http://help.aliyun.com/view/13438816.html 第2步:将代码整合进你…
公司最近开发了一个项目是用golang 写的,现在要部署到线上环境去,又不想在服务器上装单独的golang,决定用docker 封装下,直接打到镜像里面,然后就直接在hub.docker.com上面搜了下golang的镜像,直接就docker pull golang 最新的是1.9的版本 然后参考官方的文档弄了下Dockerfile大概是这样: FROM golang MAINTAINER jackluo #指定工作目录 WORKDIR /go/src/ActivitApi COPY . . C…
通常情况下,在Oracle RAC 环境中,v$视图可查询到你所连接实例的相关信息,而gv$视图则包含所有实例的信息.然而在RAC环境中,当我们查询v$log视图时说按照常理的话,v$log视图应当看到的是你所连接到实例的日志组的信息.但v$log是个例外,也就是说v$log视图里看到的不仅仅是自身实例所包含的redo日志组,其他所有剩余实例的redo日志组也同样会出现在该视图中.无论你从任意一个节点连接查询v$log视图都将获得相同的结果.该情形同样适用于v$logfile.这到底是怎么一回事…
chrome的开发者工具,在source选项卡下,可以看到js的源代码,有一个断点调试功能,就是在js的源代码行号那里点击一下,出现一个箭头,当再次刷新页面并且进行了相应操作时,就会停在断点的地方.我们可以查看相应的变量值,在右侧可以手动改变变量值,进行调试. 这个地方有一个缺点,就是没有办法对代码表达式等进行手动修改,修改完再去运行调试.如果我们在编辑窗口更改了js,他并不能真正的作用于线上代码.你保存了也没有任何效果,你刷新了页面,直接就没有了,没有办法像css的调试那样,可以完全实时修改代…
使用Metapost作图,是LaTeX的好搭档.下面介绍如何在ctex环境下的使用Metapost作图. 首先新建一个test.mp的Metapost文件. 在文件开始需要声明如下代码: prologues:=3; filenametemplate "%j-%c.eps"; verbatimtex \documentclass{minimal} \begin{CJK} \begin{document} etex 第一行是改动文件代码,嵌入字体信息使得生成的是eps文件. 第二行%j代表…
这几天搞Windows离线断网环境下安装Python包,配置环境,各种坑!做个记录,供以后查询吧. # 生产环境 windows 7 # python 2.7.9 # pip 1.5.2 友情提示:当你遇到无法安装包的不明错误时,可以回头来考虑如下建议了: 想办法更新Python版本!!! 想办法更新Python版本!!! 想办法更新Python版本!!! 如果不能更新Python版, 想办法更新pip版本!!! 想办法更新pip版本!!! 想办法更新pip版本!!! 一.更新pip版本 1.下…
Git服务搭建多见于linux环境,但windows主机也不少,目前网上文章诸多不全,且以讹传讹,不甚清楚.下面介绍windows环境下的自动部署和发布. 所需环境及资源:Java环境.Gitblit:示例服务器环境:windows server 2012 一.Java环境的安装 1)下载JRE安装包windows环境下使用GitBlit,必须安装Java环境,而Java环境可采用JRE或JDK两种方式安装,这里采用JRE的方式,其安装包相对JDK也要小不少,若已安装JDK环境可忽略. JRE安…
概述 生产环境中的服务可能会出现各种问题,但总不能让服务下线来专门排查错误,这时候最好有一些手段来获取程序运行时信息,比如 接口方法参数/返回值.外部调用情况 以及 函数执行时间等信息以便定位问题.传统的日志记录方式的确可以,但有时非常麻烦,甚至可能需要重启服务,因此代价太大,这时可以借助一个牛批的工具:BTrace ! BTrace 可用于动态跟踪正在运行的 Java程序,其原理是通过动态地检测目标应用程序的类并注入跟踪代码 ( "字节码跟踪" ),因此可以直接用于监控和追踪线上问题…
有时代码上线了,突然就碰到了坑爹的错误.或者有时看别人家线上的代码,对于一个文件想 fork 下来试试效果又不想把全部文件拉到本地,都可以使用 fiddler 的线上调试功能. 比方说我们打开携程的首页 www.ctrip.com,看到个叫 allsearch.js 的 js 文件,想往里加点代码调试下. 我们先把这个 js 文件下载到本地. 然后打开 fiddler(当然首先得下载安装 fiddler,参考如何用 fiddler 代理调试本地手机页面),浏览器访问 www.ctrip.com,…
在下面的命令框输入“select script”回车来筛选js请求 将HTTP请求重定向到本地的文件,进行web调试.这种调试方式不需要发布到线上再验证,避免了修改不成功.对用户造成影响的风险 左边一栏里是请求的URL,右边是响应的URL 输出可以在console里面看到 window.console.info(bnQ3x(Mc1x.md)); //alert("aaa"); indow.console.warn(bAN7G.encSecKey); https://www.cnblog…
在Ubuntu14.04操作系统的宿主机中,安装docker17.06.3,将宿主机的操作系统制作成docker基础镜像,之后使用自制的基础镜像在docker中启动3个容器,分配固定IP,再在3个容器中配置solrCloud集群. 关键点:docker17.06.3安装,docker自制镜像及相关容器操作,docker分配固定IP及添加端口映射,solrCloud集群部署等 注:solrCloud采用的solr内置jetty,需要单独配置zookeeper 容器IP及名称见下表: 编号 静态IP…
目前版本的cuda是很方便的,它的一个安装里面包括了Toolkit`SDK`document`Nsight等等,而不用你自己去挨个安装,这样也避免了版本的不同步问题. 1 cuda5.5的下载地址,官方网站即可:     https://developer.nvidia.com/cuda-downloads   在里面选择你所对应的电脑版本即可. 2 VS2010这个没什么说的了,网上各种的免费资源,下载一个不需要钱的就行. 3 Cuda的安装:(win7版32bit) 安装cuda 3.1 c…
环境如下 选择的代码共享方案为standard模式 再多平台依赖注入的时候,断点一直提示没有加载文档. 进入到目标平台项目Debug文件夹下,查看.发现standard库引用进来后,对应的*.pdb文件飞车小.这个文件是debug必须要有的文件,照理说会比对应的dll文件更大,毕竟里面装的是调试信息 看看目标平台的pdb文件就可以看出,明显是生成的时候有问题 但是这个问题怎么解决呢?其实也很简单,在standard的项目右键->属性->生成->高级->调试信息->选择 ‘仅P…
在 app/build.gradle 文件里添加几行代码: def gitCommitShortHash = 'git log -1 --pretty=%h'.execute([], project.rootDir).text.trim() def gitCommitDate = ] def gitShortShaDate = gitCommitShortHash + "_" + gitCommitDate // Auto-incrementing commit count based…
/×××××××××××××××××××××××××××××××××××××××××/ Author:xxx0624 HomePage:http://www.cnblogs.com/xxx0624/ /×××××××××××××××××××××××××××××××××××××××××/ 利用ant编译nutch2.x 详见:1.    http://blog.javachen.com/2014/05/20/nutch-intro/   2.    wiki.apache.org/nutch/Nu…
作者:jiangwenna    http://www.jiangwenna.com/windows-doxygen-doc/ Doxygen是一种开源跨平台的,以类似JavaDoc风格描述的文档系统,完全支持C.C++.Java.Objective-C和IDL语言,部分支持PHP.C#.注释的语法与Qt-Doc.KDoc和JavaDoc兼容.Doxgen可以从一套归档源文件开始,生成HTML格式的在线类浏览器(或.chm格式),或离线的LATEX.RTF参考手册. 准备工作: 1.下载最新版本…
安装Python 安装时只有一点需要注意,一定一定要将Python添加到系统环境变量那一项勾选. 安装 virtualenv 加入系统目录之后,命令行(CMD)下就多了一条命令:pip.用pip可以自动下载安装 Python 的各种第三方库. 打开命令行,在命令行下直接输入: >pip install virtualenv 下载安装好好了,就 cd 到需要创建虚拟 Python 环境的文件夹下,输入命令: >virtualenv venv 激活virtualenv 文件夹中就会多了一个叫做 v…
一些常用指令: h(elp) [comman]  #打印可用指令及帮助信息 r(eturn)  #运行代码直到下一个断点或当前函数返回 b(reak) [[filename:]lineno | function[, condition]]  #指定文件某行或函数体来设置断点 l(ist) [first[, last]]  #查看指定代码段 n(ext)  #执行下一行 s(tep) #执行下一行,若为函数则进入函数体 p  #打印某个变量 a(rgs)  #打印当前函数的参数 w(here)  …
安装 NodeJs, npm. 环境变量配置. 1, Grunt 安装 :  npm install -g grunt-clinpm install -g grunt package.json { "name": "my-project-name", "version": "0.1.0", "devDependencies": { "grunt": "~0.4.5",…
今天突然想写一写Python了,于是就开始弄.使用源码包安装好Python3.6.6之后,发现Linux下只能通过python3来调用python 3.6.6.如果直接使用python的话,调用的是系统默认安装的python 2.7.这样影响还算不大,但是在VS Code中调试Python的时候就出现问题了.因为VS Code无法识别python3.后来查了一些资料,一开始查到的是CodeProject上面的一篇博客,后来发现有点旧了,行不通了.然后在知乎上找到了一个答案: 直接配置launch…
For example, you have a 32-bit application that uses the Microsoft OLE DB Provider for Jet. If you migrate the application to run in the 64-bit mode, the application cannot connect to the data source by using the Microsoft OLE DB Provider for Jet. Th…
在误删除Oracle的数据文件后,如果未关闭数据库,文件句柄还没有释放,且被删除的数据文件占用的磁盘块未被复写,则可以利用句柄的方式来恢复数据文件.下面模拟恢复过程. (一)环境 OS版本:redhat 6.6 数据库版本:Oracle 11.2.0.1 (二)恢复操作 首先,模拟误删除数据库的数据文件.这里删除表空间TBS04下面的数据文件tbs04.bdf: 这个时候绝对不能关闭数据库,一旦关闭数据库,则无法恢复. 删除后查看DBWN进程,进程号为3032 进入这个进程的目录,可以看到我们删…
前言 最近写了一个小小的检测程序,python写起来只需要短短一百行,可是打包起来就没有C那么容易了.下面记录一下我艰难的"打包"过程. 方法一:py2exe py2exe是一种经典的方法,为什么说他经典呢?因为这玩意取了个这么好听的名字,但是只支持到python3.4,你这让我们这种紧跟时代潮流的弄潮儿怎么打包? 好吧,放弃. 方法二:pyinstaller 这是一个看起来比较靠谱的方法,只需要用pip安装,然后在命令窗里面一通操作就可以了.在这里,我参考了另一位老哥的博客(http…