UNPKG

uae-dap

Version:

Debug Adapter Protocol for Amiga development with FS-UAE or WinUAE

97 lines (96 loc) 2.92 kB
/// <reference types="node" /> import { Socket } from "net"; export interface HaltEvent { signal: HaltSignal; label: string; threadId?: number; } export declare enum HaltSignal { INT = 2, ILL = 4, TRAP = 5, EMT = 7, FPE = 8, BUS = 10, SEGV = 11 } export declare enum BreakpointCode { SOFTWARE = 0, HARDWARE = 1, WRITE = 2, READ = 3, ACCESS = 4 } declare type Events = { stop: (e: HaltEvent) => void; end: () => void; output: (message: string) => void; }; export declare const DEFAULT_FRAME_INDEX = -1; export declare class GdbClient { private socket; private requestMutex; private frameMutex; private eventEmitter; private responseCallback?; private haltStatus; constructor(socket?: Socket); connect(host: string, port: number): Promise<void>; destroy(): void; getOffsets(): Promise<number[]>; setBreakpoint(address: number, type?: BreakpointCode, size?: number): Promise<void>; setExceptionBreakpoint(exceptionMask: number): Promise<void>; removeBreakpoint(address: number, type?: BreakpointCode, size?: number): Promise<void>; pause(threadId: number): Promise<void>; continueExecution(threadId: number): Promise<void>; stepIn(threadId: number): Promise<void>; stepToRange(threadId: number, startAddress: number, endAddress: number): Promise<void>; getHaltStatus(): Promise<HaltEvent | null>; readMemory(address: number, length: number): Promise<string>; writeMemory(address: number, dataToSend: string): Promise<void>; getRegisters(threadId?: number | null): Promise<number[]>; getRegister(regIdx: number): Promise<number>; setRegister(regIdx: number, value: number): Promise<void>; getFramesCount(): Promise<number>; selectFrame(frameIndex: number): Promise<number>; withFrame<T>(requestedFrame: number | undefined, cb: (returnedFrame: number) => Promise<T>): Promise<T>; monitor(command: string): Promise<string>; on<U extends keyof Events>(event: U, listener: Events[U]): this; once<U extends keyof Events>(event: U, listener: Events[U]): this; off<U extends keyof Events>(event: U, listener: Events[U]): this; private sendEvent; private request; private requestNoRes; private handleData; private parseHaltStatus; } declare const errorMessages: { E01: string; E02: string; E03: string; E04: string; E05: string; E06: string; E07: string; E08: string; E09: string; E0F: string; E10: string; E11: string; E12: string; E20: string; E21: string; E22: string; E25: string; E26: string; E30: string; E31: string; E40: string; E41: string; }; declare type ErrorType = keyof typeof errorMessages; export declare class GdbError extends Error { errorType: ErrorType; constructor(errorType: string); } export {};