先决条件使用PHP和xdebug的网络服务器。htdocs目录通过NFS共享。使用geben运行emacs的开发机器。通过服务器htdocs目录的NFS挂载编辑的文件。问题使用emacs和geben调试PHPWeb应用程序时,打开的Web应用程序文件不是本地文件,而是代表服务器上文件内容的“虚拟”文件。我遇到的主要问题是我无法直接编辑文件,因为我会在服务器上更改它们,这会导致几件事:更改临时文件会导致emacs要求我提供ssh登录凭据更改临时文件,emacs想要重新加载原始打开的文件,因为它们已更改临时文件上没有跳转标记理想情况下,需要设置远程路径到本地路径的映射,但我认为目前无法使用
直到昨天,这一切都很好。现在,当我为USB调试器连接我的Android设备时。Chrome不再显示我的应用程序。现在弹出窗口显示HTTP/1.1404NotFound。看起来连接正常,应用在我的移动设备上运行良好。 最佳答案 解决方案是通过chrome://inspect/#devices访问然后选择“检查后备”选项。这是因为远程浏览器比客户端浏览器更新。 关于android-GoogleChrome开发者工具:AndroidDebuggingreturnsHTTP/1.1404未找到。
例如输出堆栈为不可执行,某些堆是可执行/不可执行.. 最佳答案 !address或!vprot(UM)扩展显示虚拟内存保护信息。0:000>!address0038f750Usage:StackAllocationBase:00290000BaseAddress:0038d000EndAddress:00390000RegionSize:00003000Type:00020000MEM_PRIVATEState:00001000MEM_COMMITProtect:00000004PAGE_READWRITEMoreinfo:~0k0
如何在Windbg中获得类似于Ollydbg的内存映射功能的内存映射?我想按顺序查看地址空间列表,显示加载到每个范围内的内容,理想情况下显示内存保护。这是Ollydbg的内存映射的屏幕截图: 最佳答案 !address准确显示此信息。它适用于用户模式和内核模式。用户态进程示例:0:000>!addressBaseAddressEndAddress+1RegionSizeTypeStateProtectUsage--------------------------------------------------------------
例如,我知道0x46767f0属于一个NSString*,有什么办法可以找出它是什么NSString来帮助我找到我想要的一些错误? 最佳答案 我相信您正在寻找:infosymbol打印存储在地址addr中的符号名称。如果没有符号恰好存储在addr中,GDB会打印最近的符号及其偏移量。示例:(gdb)infosymbol0x400225_start+5insection.textof/tmp/a.out(gdb)infosymbol0x2aaaac2811cf__read_nocancel+6insection.textof/usr/
我正在寻找逐步调试NodeJS服务器代码的有效方法。目前我使用了几十个console.log(),这非常困难。完美的工具可以让我检查堆栈中每个变量的值并逐行跟踪我的程序。首选操作系统=MacOS/Linux。有可能吗? 最佳答案 基本上,Node.js是建立在V8之上的,所以它的调试能力也是建立在V8的调试能力之上的。V8包含一个调试器,可以通过端口5858上的TCP访问。所以基本上你只需要一个能够连接到端口5858并与V8的调试协议(protocol)对话的前端。一种选择是使用node-inspector它基本上在您的浏览器中提供
我安装了node-inspector只是为了发现它不支持断点:|这有什么意义呢,记住在很大程度上Node代码是异步的,你根本无法一步一步地遵循它?..我肯定在这里错过了一点......无论如何要调试带有断点和所有东西的Node代码? 最佳答案 是的,我已经成功使用了Node检查器。如果您想要永久个断点,只需在代码中插入debugger;。见http://nodejs.org/api/debugger.html.使用node--inspect-brkscript.js(以前的node--debug-brkscript.js)让Node
我看到有人问过其他平台/语言的这个问题-有什么想法吗?我想做类似的事情:if(detectDebug()){require('tty').setRawMode(true);varstdin=process.openStdin();stdin.on('keypress',function(chunk,key){DoWork();}}else{DoWork();}我希望能够在调试时切换键盘输入作为脚本的开始,这样我就可以有时间启动chrome来监听我的Node检查器端口。***快速更新-我猜我实际上可以使用“process.argv”来检测是否传入了--debug。这是最好/正确的方法吗?
我有一个使用express和redis的Node应用程序。在我们的开发服务器上,经过一段时间的使用node开始使用100%cpu。应用程序仍然响应,但顶部报告Node使用100%。在Node重新启动之前,cpu不会下降。我没有将其确定为导致它的任何特定路线或功能。诊断此问题的最佳方法是什么?我使用v8-profiler查看了node-inspector,它给出了与此处报告的相同的错误https://github.com/dannycoates/v8-profiler/issues/10 最佳答案 您可以使用node-tick分析您的
我有一个内置于node.js的应用程序,我使用Node检查器进行调试。但这很困难:重新启动服务器后,我的断点永远不会保存我无法在尚未加载的文件上设置断点;所以我必须从第一个脚本进入我想要的脚本;真的很痛苦!您如何使用Node检查器真正调试node.js?关于如何使用node.js的视频非常具有误导性,因为一切都在一个模块中......http://www.youtube.com/watch?v=AOnK3NVnxL8或者这个出现的脚本已经在第一个脚本中加载了http://www.youtube.com/watch?v=HJOH0-g8f6E&feature=mfu_in_order&l