首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    远程调试,你值得拥有

    远程调试就是用本地的代码调试服务器上的代码,稍微想想怎么能做到呢,肯定是本地和远程服务上的虚拟机之间实现了相互通讯啊.。术语话一点,就是本地和远程的JVM之间基于某种协议(debug协议)以套接字(socket) 的方式实现通信,从而实现在本地远程调试服务端代码的功能。既然是以套接字的方式,那可定就有服务端和客户端的概念。这里不要思维定势了,所谓服务端和客户端是相对的,并不是说你部署服务的远程端才叫服务端,实际上,只要你喜欢,你可以将本地IDE配置成服务端,让远程服务启动后来主动连接本地,当然,通常的方式还是顺势思维,就把远程配置为socket的服务端,监听客户端;而且连接的建立都是服务端先启动后监听特定端口,等待客户端连接。

    02

    解决VScode配置远程调试Linux程序的问题

    最近在Linux上调程序,但是gdb使用属于入门阶段,主要是没有图形化界面直观。在网上查找了有两个方案可选,一个是通过VisualStudio2019的远程调试功能,因为最近一7直在用VScode,所以没有试,之后有时间了可以试一下。另一个方案就是通过VScode的Remote Development插件(微软官方提供的)进行远程调试。本文介绍下这个方案。 虽然网上也有其他的文章进行介绍,但是都是写的成功的情况,没有写出来过程遇到的问题,而且有些地方不太清楚。所以我觉得自己写一个。另外请大家注意的是,这篇文档介绍的是远程调试,并不介绍远程编译,远程调试VScode也是支持的,但是我目前不需要,后续如果需要再做配置,而且我的项目需要使用cmake及make进行编译,并不是直接用g++编译,所以也没有开始配置。 VScode的远程调试是利用gdbserver的机制进行的。大体原理是通过在Windows上或者其他图形化系统上的VScode,使用Remote Development插件进行ssh连接到远程Linux上,然后通过gdbserver提供的连接进行远程调试。下面开始介绍具体配置方式。

    04

    IDA + Debug 插件 实现64Bit Exe脱壳

    对于64位的可执行程序已经搞了好长一段时间了,但是却一直没有写点什么东西。前面的两篇文章仅仅是单纯的翻译,个人认为不管是32位还是64位的程序脱壳只要能到达程序的OEP就可以了。现在支持64位加壳的程序貌似也不多,这里以mpress压缩的64位系统下的64位notepad为例进行简单的演示。在《IDA + Bochs 调试器插件进行PE+ 格式DLL脱壳 》一问中提到了可以使用bochs调试器进行DLL文件脱壳。但是却没有办法进行64位EXE文件调试,启动调试之后由于代码完全识别错误,因为会出现异常导致无法调试。要想调试64位可执行程序目前只有通过远程调试的方式,使用Windbg插件同样是无法进行调试的。但是用windbg调试时将会提示如图1所示的信息:

    02
    领券