做网站超链接用什么软件在哪个网站可以学做淘宝详情

张小明 2026/1/3 2:50:03
做网站超链接用什么软件,在哪个网站可以学做淘宝详情,北京网站制作公司电话,怎么才能创建网站在本章中#xff0c;我们将继续探讨win32调试api。特别地#xff0c;我们将学习如何去跟踪被调试程序.下载 例子. 理论:如果你以前使用过调试器#xff0c;那么你应对跟踪比较熟悉。当跟踪一个程序时#xff0c;程序在每执行一条指令后将会停止#xff0c;这使…在本章中我们将继续探讨win32调试api。特别地我们将学习如何去跟踪被调试程序.下载 例子.理论:如果你以前使用过调试器那么你应对跟踪比较熟悉。当跟踪一个程序时程序在每执行一条指令后将会停止这使你有机会去检查寄存器/内存中的值。这种单步运行的官方定义为跟踪(tracing)。单步运行的特色是由CPU本身提供的。标志寄存器的第8位称为陷阱标志trap flag。如果该位设置则CPU运行于单步模式。CPU将在每条指令后产生一个debug异常。当debug 异常产生后陷阱标志自动清除。利用win32调试api我们也可以单步运行被调试程序。方法如下:调用GetThreadContext, 指定 ContextFlags为CONTEXT_CONTROL 来获得标志寄存器的值设置CONTEXT结构成员标志寄存器regFlag中的陷阱标志位调用 SetThreadContext等待调式事件。被调试程序将按单步模式执行在每执行一条指令后我们将得到调试 事件u.Exception.pExceptionRecord.ExceptionCode值为EXCEPTION_SINGLE_STEP如果要跟踪下一条指令需要再次设置陷阱标志位。例:.386.model flat,stdcalloption casemap:noneinclude \masm32\include\windows.incinclude \masm32\include\kernel32.incinclude \masm32\include\comdlg32.incinclude \masm32\include\user32.incincludelib \masm32\lib\kernel32.libincludelib \masm32\lib\comdlg32.libincludelib \masm32\lib\user32.lib.dataAppName db Win32 Debug Example no.4,0ofn OPENFILENAME FilterString db Executable Files,0,*.exe,0db All Files,0,*.*,0,0ExitProc db The debuggee exits,0Dh,0Ahdb Total Instructions executed : %lu,0TotalInstruction dd 0.data?buffer db 512 dup(?)startinfo STARTUPINFO pi PROCESS_INFORMATION DBEvent DEBUG_EVENT context CONTEXT .codestart:mov ofn.lStructSize,SIZEOF ofnmov ofn.lpstrFilter, OFFSET FilterStringmov ofn.lpstrFile, OFFSET buffermov ofn.nMaxFile,512mov ofn.Flags, OFN_FILEMUSTEXIST or OFN_PATHMUSTEXIST or OFN_LONGNAMES or OFN_EXPLORER or OFN_HIDEREADONLYinvoke GetOpenFileName, ADDR ofn.if eaxTRUEinvoke GetStartupInfo,addr startinfoinvoke CreateProcess, addr buffer, NULL, NULL, NULL, FALSE, DEBUG_PROCESS DEBUG_ONLY_THIS_PROCESS, NULL, NULL, addr startinfo, addr pi.while TRUEinvoke WaitForDebugEvent, addr DBEvent, INFINITE.if DBEvent.dwDebugEventCodeEXIT_PROCESS_DEBUG_EVENTinvoke wsprintf, addr buffer, addr ExitProc, TotalInstructioninvoke MessageBox, 0, addr buffer, addr AppName, MB_OKMB_ICONINFORMATION.break.elseif DBEvent.dwDebugEventCodeEXCEPTION_DEBUG_EVENT .if DBEvent.u.Exception.pExceptionRecord.ExceptionCodeEXCEPTION_BREAKPOINTmov context.ContextFlags, CONTEXT_CONTROLinvoke GetThreadContext, pi.hThread, addr contextor context.regFlag,100hinvoke SetThreadContext,pi.hThread, addr contextinvoke ContinueDebugEvent, DBEvent.dwProcessId, DBEvent.dwThreadId, DBG_CONTINUE.continue.elseif DBEvent.u.Exception.pExceptionRecord.ExceptionCodeEXCEPTION_SINGLE_STEPinc TotalInstructioninvoke GetThreadContext,pi.hThread,addr context or context.regFlag,100hinvoke SetThreadContext,pi.hThread, addr contextinvoke ContinueDebugEvent, DBEvent.dwProcessId, DBEvent.dwThreadId,DBG_CONTINUE.continue.endif.endifinvoke ContinueDebugEvent, DBEvent.dwProcessId, DBEvent.dwThreadId, DBG_EXCEPTION_NOT_HANDLED.endw.endifinvoke CloseHandle,pi.hProcessinvoke CloseHandle,pi.hThreadinvoke ExitProcess, 0end start分析:该程序先显示一个打开文件对话框当用户选择了一个可执行文件它将单步执行该程序并记录执行的指令数直到被调试程序退出运行。.elseif DBEvent.dwDebugEventCodeEXCEPTION_DEBUG_EVENT .if DBEvent.u.Exception.pExceptionRecord.ExceptionCodeEXCEPTION_BREAKPOINT利用该机会来设置被调试程序为单步运行模式。记住在执行被调试程序的第一条指令前 windows将发送一个EXCEPTION_BREAKPOINT消息。mov context.ContextFlags, CONTEXT_CONTROLinvoke GetThreadContext, pi.hThread, addr context调用GetThreadContext以被调试程序的当前寄存器内容来填充CONTEXT 结构 特别地我们需要标志寄存器的当前值。or context.regFlag,100h设置标志寄存器映象的陷阱位(第8位)invoke SetThreadContext,pi.hThread, addr contextinvoke ContinueDebugEvent, DBEvent.dwProcessId, DBEvent.dwThreadId, DBG_CONTINUE.continue然后调用SetThreadContext去覆盖CONTEXT的值。再以DBG_CONTINUE调用 ContinueDebugEvent 来恢复被调试程序的运行。.elseif DBEvent.u.Exception.pExceptionRecord.ExceptionCodeEXCEPTION_SINGLE_STEPinc TotalInstruction当调试程序中一条指令执行后我们将接收到EXCEPTION_DEBUG_EVENT的调试事件 必须要检查u.Exception.pExceptionRecord.ExceptionCode的值。如果该值为 EXCEPTION_SINGLE_STEP那么该调试事件是单步运行模式造成的。在这种情况 下TotalInstruction加一因为我们确切地知道此时被调试程序执行了一条指令。invoke GetThreadContext,pi.hThread,addr context or context.regFlag,100hinvoke SetThreadContext,pi.hThread, addr contextinvoke ContinueDebugEvent, DBEvent.dwProcessId, DBEvent.dwThreadId,DBG_CONTINUE.continue由于陷阱标志在debug异常后自动清除了如果我们需要继续保持单步运行模式则必须设置陷阱标志位。警告: 不要用本教程中的此例子来调试大程序: 跟踪是很慢的。你或许需要等待10 多分钟才能关闭被调试程序。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

建大型门户网站做网站公司哪家公司

EmotiVoice语音合成过程中断重连机制设计思路 在构建现代交互式语音系统时,一个常被低估但至关重要的挑战是:如何让语音合成服务“扛得住”真实世界的不确定性? 设想这样一个场景——用户正在通过手机App收听一段由EmotiVoice生成的长篇有声读…

张小明 2026/1/1 23:52:54 网站建设

做网站设计的需要什么材料软件工程专业学校排名

作为一名长期使用OBS Studio的创作者,我深知在多软件协作中视频纹理传输的痛点。传统的屏幕采集方式不仅占用大量系统资源,还会导致画面质量下降。直到我发现了OBS Spout2插件,这款基于Spout2协议的OBS插件彻底改变了我的工作流程。 【免费下…

张小明 2026/1/3 0:57:41 网站建设

网站关键词筛选wordpress如何更改文章链接地址

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个效率对比工具,能够:1. 模拟传统手动解决SolidWorks许可错误-8,544,0的步骤并计时;2. 运行自动化修复流程并计时;3. 生成对比…

张小明 2026/1/1 23:52:51 网站建设

哪些网站可以做免费广告推广8小8x人2022成免费入口

基于STM32的水质检测系统设计与实现 摘要 随着工业化和城市化的快速发展,水环境污染问题日益严重,对人类健康和生态系统构成威胁。传统的水质检测方法存在成本高、操作复杂、无法实时监测等局限性。本设计基于STM32微控制器开发了一套便携式水质检测系…

张小明 2026/1/1 23:52:49 网站建设

邯郸网站设计价格网站锚文本使用查询

目录具体实现截图项目介绍论文大纲核心代码部分展示项目运行指导结论源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作具体实现截图 本系统(程序源码数据库调试部署讲解)同时还支持java、ThinkPHP、Node.js、Spring B…

张小明 2026/1/1 23:52:47 网站建设

网站开发实战 课程学院后勤处网站建设方案书

第一章:视觉AI测试新纪元的背景与意义随着人工智能技术的飞速发展,视觉AI在图像识别、目标检测、行为分析等领域的应用日益广泛。从自动驾驶汽车到智能安防系统,视觉AI正逐步渗透至生产与生活的方方面面。然而,模型的复杂性与应用…

张小明 2026/1/2 1:14:43 网站建设