node程序的调试向来是比较令人头疼的问题,不过Chrome DevTools在去年已经可以支持node程序的调试,虽然不像使用Eclipse调试Java程序那么方便功能那么强大,但是也算是提供了一个便捷的途径来帮助我们快速的定位node程序的问题。
这个功能是在Google I/O 2016上正式发布的,可以通过这里的视频(youtube,需翻墙)了解更多信息。
使用步骤记录如下:
安装最新的Node
要支持这项功能,需要node.js的版本在6.3.0以上。如果版本较低,将会提示不支持该功能。在Mac上你可以使用nvm来切换node的版本,具体请自行google之。
➜ wx node --inspect --
继续阅读 »
现在xmake在windows下,也已经支持调试运行了,可以在编译完debug版本的程序后,直接进行调试开发。。
我们继续以tbox工程为例:
bash
$ xmake f -m debug
$ xmake r -d demo
上述命令,先配置了debug模式编译,为了启用pdb调试符号文件的生成,然后自动编译后,调试运行demo程序。。
xmake会在配置的时候,自动检测windows上注册表里面的默认调试器,然后加载我们的目标程序并运行。
一般情况下,加载的是vs自带的vsjitdebugger调试器,当然xmake也支持windbg和ollydbg(做逆向的,这个用的比较多哈。。)
我们试着运行demo中的exc
继续阅读 »
xmake默认在编译完程序后,可以通过以下命令运行指定目标程序:
bash
$xmake run [target] [arguments] ...
并且在linux/macosx下面,目前已经支持关联调试器,去直接调试指定目标了,只需要加上-d/--debug参数选项:
bash
$xmake run -d [target] [arguments] ...
默认情况下,xmake在macosx下用的是lldb,在linux下用的是gdb,调试器xmake会在配置的时候去自动检测,如果需要指定调试器路径,可以手动去配置它:
bash
$xmake f --debugger=/usr/bin/gdb
继续阅读 »
Reveal是分析、调试iOS应用UI的利器。
Reveal能够在运行时调试和修改iOS应用程序。它能连接到应用程序,并允许开发者编辑各种用户界面参数,这反过来会立即反应在程序的UI上。就像用FireBug调试HTML页面一样,在不需要重写代码、重新构建和重新部署应用程序的情况下就能够调试和修改iOS用户界面。
继续阅读 »
content
{:toc}
什么是 weinre?
weinre官网 上有两句有意思的介绍:
weinre is WEb INspector REmote. Pronounced like the word "winery". Or maybe like the word "weiner". Who knows, really.
weinre is a debugger for web pages, like FireBug (for FireFox) and Web Inspector (for WebKit-based browsers), except it's designed to work remotely, a
继续阅读 »
上一篇文章里有位读者朋友咨询我,如何调试 WebRTC iOS demo。显然这个小问题不值一篇文章,所以这周我就花了大量的精力,解决了长久以来困扰广大 WebRTC 安卓开发者的难题:如何在 Android Studio 里单步调试 WebRTC Android 的 native 代码。
继续阅读 »
本文翻译自liusy182
Jest框架是facebook旗下一款单元测试框架,我个人十分喜欢它,因为它自动mock这一点十分强大。然而,当它遇到问题的时候,就会经常抛出一些模糊的调用栈信息。我在网上搜索尝试找到如何debug Jest测试的方法,却很难找到有用的信息。总之,它仍然还是一个比较新的测试框架。
Jest使用虚拟DOM来运行测试。这一点不同于Karma和Jasmine(它们是利用浏览器来运行测试的)。我觉得这就会给它带来一个很大的缺点:不能使用浏览器上的调试工具来调试Jest的测试。因此,我们需要借助于Node/V8引擎自带的调试器。Node默认的调试器是完全基于命令行形式的,类似于GDB - 虽然我从来就不
继续阅读 »
在Windows上,通过Cygwin编译的c程序在运行时,若有内存错误也会产生类似Linux上的core文件,但是该文件一般是以stackdump为后缀的文本文件,且文件提供的信息有限,只包含了程序coredump时函数调用的栈信息,不能像Linux一样使用gdb调试。所以,在Windows平台调试Cygwin编译的c程序不太方便。本文介绍一种方法,通过反汇编c程序,结合程序coredump时生成的stackdump文件,可以快速定位出程序的coredump位置。
继续阅读 »
首先说明我的软件配置:
Computer: Windows7 SP1 64位
VS2010:旗舰版 SP1
Matlab:R2012a ,64位
下面我们将具体讲述调试Mex文件的全过程。(有图有真相哟! )
more
注意1:我们下面的做法是在64位基础上进行的,对于32位同适用,只要你注意减少某些操作即可。我们会在合适的地方进行相应的说明的,所以请放心操作。
注意2:由于这里建立的Mex文件里包含了opencv 2.4.9,所以如下的配置也会涉及到opencv的部分设置,如include,lib路径和附加依赖项,但是如果你也想使用opencv的话,你还需设置环境变量,在Path中添加bin路径。
MEX的说明
写MEX程
继续阅读 »
在Android开发中,我们使用android.util.Log来打印日志,方便我们的开发调试。但是对于正式发布的程序,我们并不希望这些Log信息显示,一方面对于用户来说影响机器性能,另一方面,其他开发者看到这些信息的时候,对我们应用程序的安全是有威胁的。所以,我们需要在正式发布时不让Log执行,或者将其移除。这里,我提供三种方法。
自己写一个Log的帮助类,在类中设置显示级别
示例代码如下,通过一个静态变量设置Log的显示级别。
more
```java
public class Log {
public static int logLevel = Log.VERBOSE;
public static void i
继续阅读 »