Narzędzie do debugowania online

On-line Debugging Tool ( ODT ) to rodzina kilku programów do debugowania opracowanych dla sprzętu Digital Equipment Corporation (DEC). Różne systemy operacyjne , w tym OS/8 , RT-11 , RSX-11 i RSTS/E, implementują ODT, podobnie jak konsola oprogramowania układowego wszystkich procesorów z rodziny LSI-11, w tym 11/03, 11/23/24, 11/53, 11/73 i 11/83/84.

Debuger umożliwia dostęp do pamięci za pomocą adresów i danych ósemkowych . W systemach oprogramowania debugger uzyskuje dostęp do przestrzeni adresowej procesu. Linia procesorów PDP-11 firmy DEC nie obsługuje pamięci wirtualnej , z punktu widzenia systemu operacyjnego, ale zamiast tego działają w stałej przestrzeni adresowej, która jest mapowana na ujednolicony widok przestrzeni adresowej programu przy użyciu Active Page Register (APR). APR może mapować pamięć RAM programu w krokach co 4K 16-bitowych słów, maksymalnie do 32K. Innymi słowy, APR może mapować 8 segmentów pamięci RAM, z których każdy jest ograniczony do 4K. Dzięki tej strukturze APR jest w stanie odwzorować maksymalnie 32 000 16-bitowych słów w pamięci RAM. W przypadku RSTS/E oznacza to zwykle, że Runtime System (RTS) odwzorowuje górną część przestrzeni adresowej, a program użytkownika znajduje się w dolnej części przestrzeni adresowej. RTS zapewnia kod obsługujący dostęp do systemu operacyjnego w imieniu programu użytkownika; sam RTS przechowuje dowolne ze swoich niestatycznych danych w przestrzeni adresowej programu użytkownika, ponieważ RTS jest zwykle tylko do odczytu. System operacyjny ładuje pojedynczą kopię RTS, która jest mapowana do dowolnego programu użytkownika, który wymaga tego RTS. APR jest ustawiony na mapowanie RTS do górnej części przestrzeni adresowej programu, w krokach co 4 KiB. Tak więc BASIC Plus RTS (dla języka programowania Basic+) zazwyczaj odwzorowuje 16 KiB na siebie, a program użytkownika jest mapowany, w przyrostach co 4 KiB, w niższych 16 KiB. RT11 RTS zajmuje 4 KiB, więc program użytkownika, taki jak Peripheral Interchange Program (PIP) oparty na RT11, może rozszerzyć się do maksymalnie 28 KiB.

ODT można używać do „łatania” modułów binarnych, takich jak RTS, bez konieczności ponownej kompilacji źródła pliku binarnego.

Implementacja konsoli oprogramowania sprzętowego uzyskuje dostęp do pamięci fizycznej .

ODT jest niesymbolicznym debuggerem i implementuje podobną funkcjonalność do Advanced Debugger (adb) w systemach Unix .

ODT konsoli

Konsola ODT zastępuje konsolę „świateł i przełączników” wielu wcześniejszych procesorów.

Dostęp do ODT konsoli uzyskuje się poprzez włączenie zasilania (z wybranym odpowiednim trybem włączenia zasilania), wykonanie instrukcji HALT w trybie jądra lub użycie przełącznika lub przycisku zatrzymania na przednim panelu.

Przykład

@1000/ xxxxxx 112737 001002 xxxxxx 101 001004 xxxxxx 177566 001006 xxxxxx 137 001010 xxxxxx 1000 >R7/xxxxxx 1000 >RS/340

Spowoduje to zdeponowanie programu

   
   MOVB  'A'  ,  @  #177566; Przenieś 'A' do rejestru transmisji konsoli   JMP  @  #1000; Skocz z powrotem, aby rozpocząć  

Depozyt do PC [Program Counter] ustawia PC na początek programu, a depozyt do PSW [Program Status Word] blokuje przerwania.

Efektem tego będzie zapisanie strumienia „A” do konsoli. Ponieważ nie ma sprawdzenia gotowości nadajnika, jest wysoce prawdopodobne, że zostanie wyświetlona duża liczba niepotrzebnych znaków.

RSX-11M-Plus ODT

RSX-11M-Plus ODT jest zasadniczo nadzbiorem wszystkich innych implementacji ODT.

ODT jest zaimplementowany jako kod, który jest połączony z zadaniem za pomocą przełącznika Konstruktora zadań /DA.

TKB CZEŚĆ/DA, WITAJ/CR = WITAJ

Po uruchomieniu dowolnego zadania zbudowanego za pomocą ODT, ODT jest wywoływane przy wejściu.

URUCHOM CZEŚĆ ODT:TT0 _

Podkreślenie to standardowy monit ODT.

Adresy w debuggerze ODT to adresy 16-bitowe w trybie, w którym działa ODT, a nie adresy fizyczne używane w konsoli ODT.

Technika debugowania ósemkowego systemu OS/8

systemu operacyjnego OS/ 8 PDP -8 wywołuje narzędzie Octal Debugging Technique .

Podobnie jak w przypadku kolejnych programów PDP-11 ODT, jest on niesymboliczny i może badać lub modyfikować pamięć, a także ustawiać punkty przerwania.

Zobacz też