当前位置:首页 » 操作系统 » 源码调试工具

源码调试工具

发布时间: 2022-10-17 00:44:27

A. 如何修改linux内核源码并调试

内核源码调试的一款工具QEMU. 仔细研究一下,慢慢学吧。

B. 怎样在F12下查看源码和调试网页CSS

F12 开发人员工具是一套按需采用的工具,内建于 Windows Internet Explorer 9 的每次安装之中。网站开发人员可以随时在任何网页上使用 F12 工具,从而快速调试 JavaScript、HTML 和级联样式表 (CSS),还可以跟踪并查明网页或网络的性能问题。
F12的存在要求程序开发人员重要的数据不能写在HTML页面中,要写在一般处理程序或者后台中,不然很容易被用户知道比如密码之类的。对WEP开发人员有利的地方就是可以参照别人网站的布局样式等来构思自己的网站。因为F12可以看到网站的布局、样式、js等代码哦!

C. ASP源码本地调试器怎么用

放在源码文件里 双击可以打开测试 有些ASP源码不好用

D. 请问本地调试PHP源码需要那些工具和方法

MYSQL
和一个PHP服务器小软件就可以了!
网上有很多地

PHP服务器软件 PHP网页服务器 1.01
http://www.onlinedown.net/soft/59039.htm

MYSQL MYSQL 5 5.0.51a
http://www.onlinedown.net/soft/3573.htm

还有个 可以很简单修改 SQL数据库的一个软件 忘了叫什么了!

E. debug是什么意思

debug是一种操作程序,我们现在就来了解一下它的用法是什么?下面是我给大家整理的debug是什么意思,供大家参阅!

debug是什么意思

消除故障

DEBUG是一种计算机程序。马克2号(Harvard Mark II)编制程序的葛丽丝·霍波(Grace Hopper)是一位美国海军准将及计算机科学家,同时也是世界最早的一批程序设计师之一。有一天,她在调试设备时出现故障,拆开继电器后,发现有只飞蛾被夹扁在触点中间,从而“卡”住了机器的运行。于是,霍波诙谐的把程序故障统称为“臭虫(BUG)”,把排除程序故障叫DEBUG,而这奇怪的“称呼”,竟成为后来计算机领域的专业行话。如DOS系统中的调试程序,程序名称就叫DEBUG。DEBUG在windows系统中也是极其重要的编译操作。

DEBUG原则

你改错了文件

你改对了文件,但却是在别人的机器上

你改对了文件,但忘了保存

你改对了文件,但忘了重新编译

你认为你把那个东西开启了,但实际上你把它关闭了

你认为你把那个东西关闭了,但实际上你把它开启了

会议中,你应该用心听。

你运行了错误的版本

你运行了正确的版本,但却是在别人的机器上

你改正了问题,但忘了提交

你改正了问题,也提交了,但忘了 push 到版本库中

你改正了问题,也提交了,也 push 了。然而,很多用户的工作都依赖于之前有问题的版本,于是你必须回滚。

DEBUG程序命令

网络debug命令简介

获得路由器中交换的报文和帧的细节信息

用于调试信息

debugging命令使用注意事项

不使用debug命令监控正常的网络运行

在网络使用的低峰期使用

不要轻易使用类似debugging all之类的命令

使用debugging命令后,应立即以“undo debugging”命令终止debugging命令的执行。

Debugger

"Debugger"这个词按它的英文字面意思来讲是这样一种“装置”(-er),这种装置可以“消除”(De-)“系统中的缺陷”(bug)。然而事实上,迄今为止我们经常使用到的"Debugger"只是用来帮助我们进行Debug的工具,"Debugger"本身不能自动完成"Debug"。我们可以回想一下我们是如何进行Debug的,在进行Debug的过程中,我们通过Debugger来完成以下工作:

(1)监视“Debug对象”的状态;

(2)控制“Debug对象”的运行;

这些工作可以为“发现Debug对象中存在的问题”以及“对解决问题方案的检验”提供有用的信息。

监控工作有时只需要由软件就可以完成,有时不仅需要软件支持,还需要硬件的支持。

Debugger除了被用来Debug,还被用来帮助我们理解“Debug的对象”内部结构,因为我们用到的Debugger能够完成对“Debug对象”的监控工作,在监控的过程中可以获取“Debug对象”动态特征的信息,这对我们理解其结构是非常有用的。

关于更详细的介绍和研究可以参考国人原创的《软件调试》,这是一本非常全面且深入的“软件调试”红皮书。

WinDbg是微软发布的一款相当优秀的源码级(source-level)调试工具,可以用于Kernel模式调试和用户模式调试,还可以调试Dump文件。

DEBUG 2

Debug

启动 Debug,它是可用于测试和调试 MS-DOS可执行文件的程序。

Debug [[drive:][path] filename [parameters]]

参数

[drive:][path] filename

指定要测试的可执行文件的位置和名称。

parameters

指定要测试的可执行文件所需要的任何命令行信息。

说明:使用 Debug 命令但不指定要测试的文件

如果使用没有位置和文件名的 Debug 命令,然后键入所有的 Debug 命令以响应 Debug 提示符,连字符(-)。

F. 我在电脑上安装了wamp,,,后来发现用asp源码调试工具调试asp源码时打不开

默认情况下iis和apache应该都是用80端口的 你安装完apache以后 由于端口冲突iis被迫停止了 你修改端口可以iis还没启动 所以你进iis里启动下试试

G. WinDbg怎么用

什么是WinDBG? WinDbg是微软开发的免费源码级调试工具。Windbg可以用于Kernel模式调试和用户模式调试,还可以调试Dump文件。由于大部分程序员不需要做Kernel模式调试, 我在这篇文章中不会介绍Kernel模式调试。Kernel模式调试对学习Windows核心极有帮助。如果你对此感兴趣,可以阅读Inside Windows 2000和Windbg所带的帮助文件。这篇文章得主要目的是介绍WINDBG的主要功能以及相关的命令。关于这些命令的详细语法,请参阅帮助文件。对文章中提到的许多命令,WINDBG有相应的菜单选项。如何得到帮助在命令(Command)窗口中输入.hh 命会调出帮助文件令。.hh keyword会显示关于keyword的详细命令。启动DebuggerWindbg可以用于如下三种调试:远程调试:你可以从机器A上调试在机器B上执行的程序。具体步骤如下:
? 在机器B上启动一个调试窗口(Debug Session)。你可以直接在Windbg下运行一个程序或者将Windbg附加(Attach)到一个进程。? 在机器B的Windbg命令窗口上启动一个远程调试接口(remote):.server npipe:pipe=PIPE_NAMEPIPE_NAME是该接口的名字。? 在机器A上运行:windbg –remote npipe:server=SERVER_NAME,pipe=PIPE_NAMESERVER_NAME是机器B的名字。Dump文件调试:如果在你的客户的机器上出现问题,你可能不能使用远程调试来解决问题。你可以要求你的用户将Windbg附加到出现问题的进程上,然后在命令窗口中输入:
.mp /ma File Name创建一个Dump文件。在得到Dump文件后,使用如下的命令来打开它:windbg –z DUMP_FILE_NAME本地进程调试:你可以在Windbg下直接运行一个程序:
Windbg “path to executable” arguments 也可以将Windbg附加到一个正在运行的程序: Windbg –p “process id” Windbg –pn “process name” 注意有一种非侵入(Noninvasive)模式可以用来检查一个进程的状态并不进程的执行。当然在这种模式下无法控制被调试程序的执行。这种模式也可以用于查看一个已经在Debugger控制下运行的进程。具体命令如下: Windbg –pv –p “process id” Windbg –pv –pn “process name” 调试多个进程和线程如果你想控制一个进程以及它的子进程的执行,在Windbg的命令行上加上-o选项。Windbg中还有一个新的命令.childdbg 可以用来控制子进程的调试。如果你同时调试几个进程,可以使用 | 命令来显示并切换到不同的进程。在同一个进程中可能有多个线程。~命令可以用来显示和切换线程。调试前的必备工作在开始调试前首先要做的工作是设置好符号(Symbols)路径。没有符号,你看到的调用堆栈基本上毫无意义。Microsoft的操作系统符号文件(PDB)是对外公开的。另外请注意在编译你自己的程序选择生成PDB文件的选项。如果设置好符号路径后,调用堆栈看起来还是不对。可以使用lm, !sym noisy, !reload 等命令来验证符号路径是否正确。Windbg也支持源码级的调试。在开始源码调试前,你需要用.srcpath设置源代码路径。如果你是在生成所执行代码的机器上进行调试,符号文件中的源码路径会指向正确的位置,所以不需要设置源代码路径。如果所执行代码是在另一台机器上生成的,你可以将所用的源码拷贝(保持原有的目录结构)的一个可以访问文件夹(可以是网络路径)并将源代码路径设为该文件夹的路径。注意如果是远程调试,你需要使用.lsrcpath来设置源码路径。静态命令:显示调用堆栈:在连接到一个调试窗口后,首先要知道的就是程序当前的执行情况k* 命令显示当前线程的堆栈。~*kb会显示所有线程的调用堆栈。如果堆栈太长,Windbg只会显示堆栈的一部分。.kframes可以用来设置缺省显示框架数。显示局部变量:接下来要做通常是用dv显示局部变量的信息。CTRL+ALT+V可以切换到更详细的显示模式。关于dv要注意的是在优化过的代码中dv的输出极有可能是不准确的。这时后你能做的就是阅读汇编代码来发现你感兴趣的值是否存储在寄存器中或堆栈上。有时后当前的框架(Frame)上可能找不到你想知道的数据。如果该数据是作为参数传到当前的方法中的,可以读一读上一个或几个框架的汇编代码,有可能该数据还在堆栈的某个地址上。静态变量是储存在固定地址中的,所以找出静态变量的值较为容易。.Frame(或者在调用堆栈窗口中双击)可以用来切换当前的框架。注意dv命令显示的是当前框架的内容。你也可在watch窗口中观察局部变量的值。显示类和链表: dt可以显示数据结构。比如dt PEB 会显示操作系统进程结构。在后面跟上一个进程结构的地址会显示该结构的详细信息:dt PEB 7ffdf000。Dl命令可以显示一些特定的链表结构。显示当前线程的错误值:!gle会显示当前线程的上一个错误值和状态值。!error命令可以解码HRESULT。搜索或修改内存:使用s 命令来搜索字节,字或双字,QWORD或字符串。使用e命令来修改内存。计算表达式:?命令可以用来进行计算。关于表达式的格式请参照帮助文档。使用n命令来切换输入数字的进制。显示当前线程,进程和模块信息:!teb显示当前线程的环境信息。最常见的用途是查看当前线程堆栈的起始地址,然后在堆栈中搜索值。!peb显示当前进程的环境信息,比如执行文件的路径等等。lm显示进程中加载的模块信息。显示寄存器的值:r命令可以显示和修改寄存器的值。如果要在表达式中使用寄存器的值,在寄存器名前加@符号(比如@eax)。显示最相近的符号:ln Address。如果你有一个C++对象的指针,可以用来ln来查看该对象类型。 查找符号:x命令可以用来查找全局变量的地址或过程的地址。x命令支持匹配符号。x kernel32!*显示Kernel32.dll中的所有可见变量,数据结构和过程。查看lock:!locks显示各线程的锁资源使用情况。对调试死锁很有用。查看handle:!handle显示句柄信息。如果一段代码导致句柄泄漏,你只需要在代码执行前后使用!handle命令并比较两次输出的区别。有一个命令!htrace对调试与句柄有关的Bug非常有用。在开始调试前输入:!htrace –enable 然后在调试过程中使用!htrace handle_value 来显示所有与该句柄有关的调用堆栈。显示汇编代码:u。程序执行控制命令:设置代码断点:bp/bu/bm 可以用来设置代码断点。你可以指定断点被跳过的次数。假设一段代码KERNEL32!SetLastError在运行很多次后会出错,你可以设置如下断点: bp KERNEL32!SetLastError 0x100.在出错后使用bl 来显示断点信息(注意粗体显示的值):0 e 77e7a3b0 004f (0100) 0:*** KERNEL32!SetLastError重新启动调试(.restart命令)并设置如下的断点:bp Kernel32!SetLastError 0x100-0x4fDebugger会停在出错前最后一次调用该过程的地方。你可以指定断点被激活时Debugger应当执行的命令串。在该命令串中使用J命令可以用来设置条件断点:bp `mysource.cpp:143` "j (poi(MyVar)”0n20) ''; 'g' "上面的断点只在MyVar的值大于32时被激活(g命令条件断点的用途极为广泛。你可以指定一个断点只在特殊的情况下被激活,比如传入的参数满足一定的条件,调用者是某个特殊的过程,某个全局变量被设为特殊的值等等。设置内存断点:ba可以用来设置内存断点。调试过程中一个常见的问题是跟踪某些数据的变化。如下的断点:ba w4 0x40000000 "kb; g"可以打印出所有修改0x40000000的调用堆栈。控制程序执行:p, pa,t, ta等命令可以用来控制程序的执行。控制异常和事件处理:Debugger的缺省设置是跳过首次异常(first chance expcetion),在二次异常(second chance exception)时中断程序的执行。sx命令显示Debugger的设置。sxe和sxd可以改变Debugger的设置。 sxe clr可以控制Debugger在托管异常发生时中断程序的执行。常用的Debugger事件有: av 访问异常 eh C++异常 clr 托管异常 ld 模块加载-c 选项可以用来指定在事件发生时执行的调试命令。

H. 常用的C/C++程序调试工具有哪些

通常c或者c++ 主要使用的程序调试工具有如下几种:
1.
vc或者vs等编程工具中自带的debug 调试工具,这种和编程结合在一起的调试工具有一点好处是,可以迅速定位到实际的错误代码,方便修改。
2.
使用专门的调试工具,比如ollydbg
,windbg等,这些调试工具普遍功能更加强大,在未知源码的调试中比较好用。

I. Android 源码调试

首先在Android源代码目录下的build目录下,有个脚本文件envsetup.sh,执行这个脚本文件后,就可以获得一些有用的工具:

热点内容
主播网站源码 发布:2025-05-15 02:50:56 浏览:166
中文编程语言有哪些 发布:2025-05-15 02:48:59 浏览:534
配置中心应急流程有哪些 发布:2025-05-15 02:37:31 浏览:669
php宏定义 发布:2025-05-15 02:32:54 浏览:270
咸鱼支付密码哪里改 发布:2025-05-15 02:32:53 浏览:520
存储机箱 发布:2025-05-15 02:31:31 浏览:836
编程很累吗 发布:2025-05-15 02:29:25 浏览:552
疫情期间访问国外网络 发布:2025-05-15 02:24:24 浏览:247
我的世界网易版游戏服务器 发布:2025-05-15 02:23:46 浏览:221
全球编程网站 发布:2025-05-15 02:22:55 浏览:334