我们正在努力恢复Google Play商店上的Unionpedia应用程序
🌟我们简化了设计以优化导航!
Instagram Facebook X LinkedIn

反汇编器和机器码监视器

快捷方式: 差异相似杰卡德相似系数参考

反汇编器和机器码监视器之间的区别

反汇编器 vs. 机器码监视器

反汇编器(disassembler)是一种将机器语言转换为汇编语言的计算机程序——这与汇编器的目的相反。反汇编器与反编译器不同,反编译器的目标是高级语言而非汇编语言。反汇编器的反汇编输出通常格式化为适合人类阅读,而非用作汇编器的输入源,因此它主要是一个逆向工程工具。 汇编语言源代码通常允许使用和程序员注释,而这些通常会在汇编器汇编的机器语言中被移除。因此,以机器代码为基础完成的反汇编结果将没有这些常量和注释,阅读输出结果将比阅读源代码更有难度。一些反汇编器提供了内置的代码注释功能,其生成的输出增补了有关被调用API函数或被调用函数参数的注释。一些反汇编器会利用对象文件(例如ELF)中存在的信息。例如,IDA允许人类用户在交互式会话中为代码的值或区域标记助记符号。 反汇编不是一门精准科学:在有可变宽度指令的复杂指令集(CISC)平台上,使用级编程或存在程序自修改代码时,单个程序可能有两个或多个合理的反汇编结果。程序在运行期间决定实际执行哪个指令被歸約到停机问题,这是已知无法解决的问题。. 机器码监视器(又名机器语言监视器)是允许用户输入命令以预览并修改计算机上内存位置的软件,同时有着保存内存内容从/至次级存储的选项。一些完整功能的机器码监视器提供了对机器语言程序执行(就像调试器一样)的详细控制("单步跟踪"),包括绝对地址的代码汇编和反编译的能力。 机器码监视器于20世纪70年代与80年代的家用电脑时期变得火热,且有时候作为常驻固件在某些电脑中提供(例如中的内建监视器)。在显示器中执行所有程序代替一个完整的符号汇编程序并不是闻所未闻。即使在完整功能的汇编程序变得可用之后,机器码监视器对于调试程序也是必不可少的。调试程序通常在代码进行测试时设置断点(例如使用6502汇编语言中的BRK指令)并启动程序。 当微处理器遇到了断点时测试程序将中断且控制会转移至机器码监视器中。通常这将触发寄存器转储随后监视器将等待程序员输入。在此点激活可能包含检查内存内容、修补码和/或也许会在改变处理器寄存器之前重新启动测试程序。 从头编写的汇编语言软件数量的普遍下降使得机器码监视器成为了一种失落的艺术。在大多数使用高级语言的系统上,调试器通过更为抽象和友好的界面呈现程序运行情况。然而,仍有使用机器码监视器的情况,特别是在业余爱好计算机的领域。.

之间反汇编器和机器码监视器相似

反汇编器和机器码监视器有(在联盟百科)4共同点: 计算机程序调试工具汇编语言机器语言

计算机程序

计算机程序(Computer Program)是指一组指示计算机或其他具有訊息处理能力装置每一步动作的指令,通常用某种程序设计语言编写,运行于某种目标体--结构上。打个比方,一个程序就像一个用汉语(程序设计语言)写下的红烧肉菜谱(程序),用于指导懂汉语(編譯器)同時也會烹饪手法的人(体--结构)来做这道菜。 通常,以英文文本為基礎的计算机程序要经过編譯和連結而成为一种人们不易看清而计算机可解讀的一連串數字的格式,然后放入运行。未经编译就可运行的程序,通常称之为脚本程序(script)。.

反汇编器和计算机程序 · 机器码监视器和计算机程序 · 查看更多 »

调试工具

調試工具亦稱侦错工具、除錯工具、除錯程式、調試器、--,英文名稱為Debugger,指一種用於调试其它程式的電腦程式及工具。能夠讓程式碼在指令組模擬器(ISS)中可以檢查運行狀況以及選擇性地運行,以便排错、除錯。當開發的進度遇到瓶頸或找不出哪裡有問題時,這技術將是非常有用的。但是將程式運行在除錯器之下,這將比直接在運作的平台以及處理器上執行還要來得慢。 當程式當機時,如果除錯器是屬於來源階段除錯器(source-level debugger)或象徵階段除錯器(symbolic debugger),除錯器即可以顯示出錯誤所在位置的原始碼,並使其於整合開發環境裡也能看見。要是屬於低階除錯器(low-level debugger)或機器語言除錯器(machine-language debugger)的話,它將能顯示的是一行一行的反組譯碼(這裡指的當機情況是指,當發生原因是因為程式設計師在設計上的疏失,使得程式無法繼續正常執行的情況。例如程式嘗試去調用某個對在該版本的CPU上而言是不合理的操作,或者是對保護或無法存取的記憶體位置進行寫入)。 典型的除錯器通常能夠在程式執行時擁有以下這些功能,例如單步執行(single-stepping)、利用中斷點(breakpoint)使程式遇到各種種類的事件(event)時停止(breaking)(一般用於使程式停止在想要檢查的狀態)、以及追蹤某些變數的變化。有些除錯器也有能力在想要除錯的程式在執行狀態時,去改變它的狀態,而不僅僅只是用來觀察而己。 一個好的除錯器存在的重要性不誇張。就算一個程式語言/平台在電腦的行程裡運作非常良好。有無除錯器以及除錯器的好壞,對於一個程式語言及平台來說,經常是能不能正常執行的重要因素。總之,軟體要能夠(或經常)執行在不同的除錯器下進行測試,是非常重要的。不過由於除錯器出現將做對軟體程式的內部時間的不可避免的變動。所以,即使是一個幾近完美的除錯器,在多工環境或分散式系統下,它也會更難去測試到執行時(runtime)的問題。 一個除錯器除了能夠用來除錯(debug),同樣的,它也經常被用來作為破解軟體的工具,像是用來跳過軟體的防拷貝保護,還有破解序號驗證,以及其它軟體保護功能。 大部份的主流除錯工程,譬如gdb和dbx提供基於主控台的命令提示介面(console-based command line)。除錯器前端應用,現在普遍是提供給整合式開發工具(IDE)做為除錯引撆、動態化、視覺化等特點。.

反汇编器和调试工具 · 机器码监视器和调试工具 · 查看更多 »

汇编语言

汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器,或其他可编程器件的低级语言。在不同的设备中,汇编语言对应着不同的机器语言指令集。一种汇编语言专用于某种计算机系统结构,而不像许多高级语言,可以在不同系统平台之间移植。 使用汇编语言编写的源代码,然后通过相应的汇编程序将它们转换成可执行的机器代码。这一过程被称为汇编过程。 汇编语言使用助记符(Mnemonics)来代替和表示特定低级机器语言的操作。特定的汇编目标指令集可能会包括特定的操作数。许多汇编程序可以识别代表地址和常量的标签(Label)和符号(Symbols),这样就可以用字符来代表操作数而无需采取写死的方式。普遍地说,每一种特定的汇编语言和其特定的机器语言指令集是一一对应的。 许多汇编程序为程序开发、汇编控制、辅助调试提供了额外的支持机制。有的汇编语言编寫工具经常会提供巨集,它们也被称为--汇编器。 现在汇编语言已不像其他大多數的程序設計語言一樣被廣泛用于程序設計,在今天的實際應用中,它通常被應用在底層硬件操作和高要求的程序優化的场合。驅動程序、嵌入式操作系統和實時運行程序都会需要組合語言。.

反汇编器和汇编语言 · 机器码监视器和汇编语言 · 查看更多 »

机器语言

机器语言(machine language)是一種指令集的體--。这种指令集称为機器碼(machine code),是電腦的CPU可直接解讀的資料。 機器碼有時也被稱為原生碼(Native Code),這個名詞比較強調某種程式語言或函式庫與執行平台相關的部份。.

反汇编器和机器语言 · 机器码监视器和机器语言 · 查看更多 »

上面的列表回答下列问题

反汇编器和机器码监视器之间的比较

反汇编器有19个关系,而机器码监视器有17个。由于它们的共同之处4,杰卡德指数为11.11% = 4 / (19 + 17)。

参考

本文介绍反汇编器和机器码监视器之间的关系。要访问该信息提取每篇文章,请访问: