打开进程 通过打开运行进程方式来调试进程需要调用一个API: BOOL CreateProcessA( LPCSTR lpApplicationName, LPSTR retCP == 00) { cout << "打开进程失败" << endl; return; } 附加进程 通过DebugActiveProcess这个API 创建了调试进程后接下来就是死循环等待调试事件: 当调试进程时,被调试进程执行的一些操作事件将会被通知给调试器,比如dll的加载和卸载,thread的创建和销毁,异常信息等等。 调试器通过WaitForDebugEvent API来等待调试事件,调试事件被封装到了DEBUG_EVENT结构体中,调试器需要处理的就是循环接受调试事件然后处理DEBUG_EVENT结构体中传递过来的不同调试信息 利用调试器原理实现附加反调试 利用调试器的原理,我们可以通过创建一个调试模式下的进程,那么这个以调试模式创建的进程就不能被其它进程拿去调试了,因为它已经在被一个我们自己的进程以调试模式创建了。
参考: Postman 是一个非常棒的Chrome扩展,提供功能强大的API & HTTP 请求调试。 它能够发送任何类型的HTTP requests (GET, HEAD, POST, PUT..) Postman 能够保留了历史的请求,这样我们就可以很容易地重新发送请求,有一个“集合”功能,用于存储所有请求相同的API/域。 这个扩展还有一些更多的功能,以简化测试和调试HTTP请求。
Postman是一款API接口调试工具,使用它可以很方便的对接口进行测试,并且后端人员可以将自己的调试结果导出,方便前端人员调试。 展示图片 进行接口调试 测试接口均来自mall-admin后台,启动后可以直接测试。 调用GET请求 ? 展示图片 调用POST请求提交JSON格式数据 ? 展示图片 调用POST请求提交表单 ? 展示图片 调试文件的导入与导出 将调试接口信息进行保存 ? 展示图片 ? 展示图片 导出Collection中的调试信息 ? 展示图片 导入Collection中的调试信息 ? 展示图片 ? 展示图片 使用过程中的一些技巧 设置不同的环境 我们开发时,都会分本地环境和测试环境,本地环境用于本机调试接口,测试环境用于前后端联调接口。 上面我们把http://localhost:8080这个ip端口直接写在请求路径之中,当我们要调试测试环境接口时,就会产生麻烦。定义多个环境变量,在接口地址中进行引用,可以解决这个问题。
https://www.apifox.cn/ 功能特性 API 文档设计 可视化 API 文档管理,零学习成本。 支持数据模型,接口之间可以复用相同数据结构。 支持在线分享 API 文档,方便与外部团队协作。 API 调试 Postman 有的功能 Apifox 都有(如环境变量、前置/后置脚本、Cookie/Session 全局共享等),并且比 Postman 更高效好用。 API 数据 Mock 零配置即可 mock 出非常人性化的数据(根据 API 文档智能 mock)。 支持读取数据库数据,用来校验(断言) API 请求是否成功。 自动生成代码 根据接口/模型定义,自动生成各种语言/框架的业务代码和 API 请求代码。
前面的内容讲了不少Canva的API,这章把剩下的API一讲吧。这个系列中以后基本不糊涉及新的API了,因为,这章完了我们就真的学完了! ---- 至此,我们学完了Canvas几乎全部的API,恭喜你啊。此时,你又什么感想呢?是成就满满?还是感觉并没有学到些什么? 如果你感觉成就满满,说明你是真的是学到了东西,如果还感觉没学到什么,也不要灰心,因为Canvas的学习并不仅仅是API,更多的是编程的一些技巧。 好多时候我们学习编程其实学的只是一些语法和API而更多的经验还需要不断地在实践中去历练,往往一些编程技巧比语法和API要更重要,现在你学习的是HTML5中的Canvas,其实安卓、Java中的Swing
02 编辑代码并继续调试 (C#,VB, C++) 在 Visual Studio 支持的大多数语言中,你都可以在调试会话的过程中编辑代码,然后继续调试。 10 调试死锁和争用条件 如果需要调试的问题对于多线程应用程序很常见,在调试时查看线程的位置,通常会有所帮助。 可使用源中显示线程按钮轻松完成此操作。 ? 11 检查 web 服务和网络资源 (UWP) 的有效负载 在 UWP 应用中,你可以分析使用 Windows.Web.Http API执行的网络操作。 12 将调试器附加到您的应用程序 若要附加到正在运行的应用,调试器将加载为想要调试的应用的相同内部版本生成的符号 (.pdb) 文件。 在某些情况下,了解符号文件的一些知识非常有用。 在调试时,通过选择调试 > 窗口 > 模块 打开模块窗口。 模块窗口可以告诉你,调试器将哪些模块视为用户代码或我的代码,以及符号加载模块的状态。
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 09-24 13:19:06.821: E/libEGL(12237): call to OpenGL ES API
在线调试的参数需要session Uuid和语音分片的序号 ,但是找不到预处理接口和文件分片上传接口,怎么搞啊 凑字数凑字数凑字数凑字数凑字数凑字数 凑字数凑字数凑字数凑字数凑字数凑字数 凑字数凑字数凑字数凑字数凑字数凑字数
在开发 RESTful API 相关的工作中,经常需要测试我们的接口是否可以正常使用,或通过传递测试数据来验证接口的输出。本文介绍的工具可以说就是为了 RESTful API 测试而生。
本章笔者将通过Windows平台下自带的调试API接口实现对特定进程的动态转存功能,首先简单介绍一下关于调试事件的相关信息,调试事件的建立需要依赖于DEBUG_EVENT这个特有的数据结构,该结构用于向调试器报告调试事件 当一个程序发生异常事件或者被调试器附加时,就会产生对应的DEBUG_EVENT调试事件,通常DEBUG_EVENT包含了多种调试类型,包括异常事件、进程创建事件、线程创建事件、进程退出事件和线程退出事件等等 调试字符串事件 (Debug String Event) - 当一个进程向其调试器发送字符串消息时发送此事件。 一旦调试器通过CreateProcess()附加并运行,下一步则是通过WaitForDebugEvent()用于等待一个调试事件,当有调试事件到达后系统会将调试类型存储到debugEvent.dwDebugEventCode : printf("输出调试信息事件 \n"); break; } // 使调试器能够继续以前报告调试事件的线程
本章笔者将通过Windows平台下自带的调试API接口实现对特定进程的动态转存功能,首先简单介绍一下关于调试事件的相关信息,调试事件的建立需要依赖于DEBUG_EVENT这个特有的数据结构,该结构用于向调试器报告调试事件 当一个程序发生异常事件或者被调试器附加时,就会产生对应的DEBUG_EVENT调试事件,通常DEBUG_EVENT包含了多种调试类型,包括异常事件、进程创建事件、线程创建事件、进程退出事件和线程退出事件等等 调试字符串事件 (Debug String Event) - 当一个进程向其调试器发送字符串消息时发送此事件。 一旦调试器通过CreateProcess()附加并运行,下一步则是通过WaitForDebugEvent()用于等待一个调试事件,当有调试事件到达后系统会将调试类型存储到debugEvent.dwDebugEventCode : printf("输出调试信息事件 \n"); break; } // 使调试器能够继续以前报告调试事件的线程 bRet
路由调试 RouteDebugger 是调试 ASP.NET MVC 路由的一个好的工具,在ASP.NET WEB API中相应的有 WebApiRouteDebugger ,Nuget安装 Install-Package (在上下文“Default”中的“C:\Windows \Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\821cf8a9\ <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/> </dependentAssembly> 现调试路由就方便多了 Refer: http://www.asp.net/web-api/overview/creating-web-apis/creating-api-help-pages http://blogs.msdn.com /b/webdev/archive/2013/04/04/debugging-asp-net-web-api-with-route-debugger.aspx http://www.asp.net/web-api
在开发 RESTful API 相关的工作中,经常需要测试我们的接口是否可以正常使用,或通过传递测试数据来验证接口的输出。本文介绍的工具可以说就是为了 RESTful API 测试而生。
找到一个超级漂亮同时功能超级强,还是一个 UWP 应用的调试 REST API 工具 点击此地址 下载安装 界面截图 ? 支持对请求设置标题,同时支持分组和工作空间 如我可以对访问逗比服务器添加多个不同的 API 请求 ? 当然清真的是这是一个 UWP 程序 我没有收他的红包,所以不好用请到官网喷 ---- 本文会经常更新,请阅读原文: https://blog.lindexi.com/post/%E4%BC%98%E9% 9B%85%E8%B0%83%E8%AF%95-REST-API-%E7%9A%84%E5%B7%A5%E5%85%B7.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。
最近有了翻译的需求, 想用node进行一波封装, 发现百度翻译api个人认证之后每个月有100万字符的免费额度, 足够我使用了,废话不多说 直接开搞 文档地址:http://api.fanyi.baidu.com /api/trans/vip/translate? f89f9594663708c1605f3d736d01d2d4 let setUrl = (q, from, to) => { let appid = "你的appid"; let appKey = "你的api 密匙"; let salt = Date.now(); let sign = md5(appid + q + salt + appKey); let url = `http://api.fanyi.baidu.com /api/trans/vip/translate?
运行环境 DevEco Studio:4.0Release OpenHarmony SDK API10 开发板:润和DAYU200 目前我们能够看到的是鸿蒙已经到API10,甚至今天在看OpenHarmony 官网的时候,4.1beta的分支都已经有了,也就是API11马上就出来了。 这个时候,我们最起码要将API 9工程转换为API 10工程。然后再慢慢的迁移到未来的11上。 接下来我们说一下如何迁移。
今天给大家推荐一款 API 开发工具 Postwoman (女人) ,其实日常工作中我们差不多都是用 Postman (男人) 这个工具来调试我们的接口,那今天不说 男人,我们来看看 女人 到底如何。 首先是 Postwoman 官网(演示站点) https://postwoman.io/ 直接打开就可以调试 HTTP 服务 还可以调试 WebSocket 服务 另外还可以更换主题颜色 ok,功能差不多就是这样
1、前言 Postman曾以免费易用成为主流API测试工具,支持多协议、便于管理测试套件且团队协作强,拥有庞大用户群。但随着商业化推进,其免费功能缩水、部分高级功能付费,促使开发者寻找替代品。 Insomnia作为轻量开源的桌面API测试工具,因免费无限制、界面直观易用,深受预算有限的团队和个人开发者青睐。 2、简介 Insomnia是一款开源桌面应用程序,可简化应用程序编程接口(API)的设计、调试与测试流程。 功能特性: 通过最主流的协议与格式调试API。 借助原生OpenAPI编辑器及可视化预览功能设计API。 利用原生测试套件测试API。 通过云端或自托管的模拟服务器(Mock Server)模拟API。 使用原生命令行工具(CLI)进行代码检查(linting)与测试,构建持续集成/持续部署(CI/CD)流水线。
LyScriptTools模块中的DebugControl类主要负责控制x64dbg调试器的行为,例如获取或设置寄存器组,执行单步命令等,此类内的方法也是最常用的。 Script_CloseDebug() 终止当前被调试进程 Script_DetachDebug() 让进程脱离当前调试器 Script_RunDebug() 让进程运行起来 Script_ERun( 暂停 Run() 内置API运行 StepIn() 内置API步入 StepOut() 内置API步过 StepOut() 内置API到结束 Stop() 内置API停止 Wait() 内置API等待 IsDebug() 判断调试器是否在调试 IsRunning() 判断调试器是否在运行 自动控制类主要功能如上表示,其中Script开头的API是调用的脚本命令实现,其他的是API实现,我们以批量自动载入程序为例 () dbg.close() 如果你不使用Script_InitDebug来加载被调试进程,你也可以使用如下方式打开一个文件。
LyScriptTools模块中的DebugControl类主要负责控制x64dbg调试器的行为,例如获取或设置寄存器组,执行单步命令等,此类内的方法也是最常用的。 SetZF(decimal_bool)设置标志寄存器的值(布尔型)Script_InitDebug(path)传入文件路径,载入被调试程序Script_CloseDebug()终止当前被调试进程Script_DetachDebug 暂停Run()内置API运行StepIn()内置API步入StepOut()内置API步过StepOut()内置API到结束Stop()内置API停止Wait()内置API等待IsDebug()判断调试器是否在调试 IsRunning()判断调试器是否在运行自动控制类主要功能如上表示,其中Script开头的API是调用的脚本命令实现,其他的是API实现,我们以批量自动载入程序为例,演示该类内函数是如何使用的。 () dbg.close()如果你不使用Script_InitDebug来加载被调试进程,你也可以使用如下方式打开一个文件。