VirtualBox

vbox的更動 64554 路徑 trunk/src/VBox/Debugger


忽略:
時間撮記:
2016-11-4 上午10:41:06 (8 年 以前)
作者:
vboxsync
訊息:

Debugger/DBGC: Add helpers providing a virtual screen with some simple drawing primitives and optional color support using escape sequences

位置:
trunk/src/VBox/Debugger
檔案:
新增 1 筆資料
修改 2 筆資料

圖例:

未更動
新增
刪除
  • trunk/src/VBox/Debugger/DBGCInternal.h

    r62480 r64554  
    425425
    426426
     427/**
     428 * Control flow graph basic block dumper state
     429 */
     430typedef struct DBGCCFGBBDUMP
     431{
     432    /** The basic block referenced. */
     433    DBGFCFGBB               hCfgBb;
     434    /** Cached start address. */
     435    DBGFADDRESS             AddrStart;
     436    /** Target address. */
     437    DBGFADDRESS             AddrTarget;
     438    /** Width of the basic block in chars. */
     439    uint32_t                cchWidth;
     440    /** Height of the basic block in chars. */
     441    uint32_t                cchHeight;
     442    /** X coordinate of the start. */
     443    uint32_t                uStartX;
     444    /** Y coordinate of the start. */
     445    uint32_t                uStartY;
     446} DBGCCFGBBDUMP;
     447/** Pointer to the CFG basic block dump state. */
     448typedef DBGCCFGBBDUMP *PDBGCCFGBBDUMP;
     449
    427450/*******************************************************************************
    428451*   Internal Functions                                                         *
     
    456479void    dbgcEventTerm(PDBGC pDbgc);
    457480
     481/** Console ASCII screen handle. */
     482typedef struct DBGCSCREENINT *DBGCSCREEN;
     483/** Pointer to ASCII screen handle. */
     484typedef DBGCSCREEN *PDBGCSCREEN;
     485
     486/**
     487 * ASCII screen blit callback.
     488 *
     489 * @returns VBox status code. Any non VINF_SUCCESS status code will abort the dumping.
     490 *
     491 * @param   psz             The string to dump
     492 * @param   pvUser          Opaque user data.
     493 */
     494typedef DECLCALLBACK(int) FNDGCSCREENBLIT(const char *psz, void *pvUser);
     495/** Pointer to a FNDGCSCREENBLIT. */
     496typedef FNDGCSCREENBLIT *PFNDGCSCREENBLIT;
     497
     498/**
     499 * ASCII screen supported colors.
     500 */
     501typedef enum DBGCSCREENCOLOR
     502{
     503    /** Invalid color. */
     504    DBGCSCREENCOLOR_INVALID = 0,
     505    /** Default color of the terminal. */
     506    DBGCSCREENCOLOR_DEFAULT,
     507    /** Black. */
     508    DBGCSCREENCOLOR_BLACK,
     509    DBGCSCREENCOLOR_BLACK_BRIGHT,
     510    /** Red. */
     511    DBGCSCREENCOLOR_RED,
     512    DBGCSCREENCOLOR_RED_BRIGHT,
     513    /** Green. */
     514    DBGCSCREENCOLOR_GREEN,
     515    DBGCSCREENCOLOR_GREEN_BRIGHT,
     516    /** Yellow. */
     517    DBGCSCREENCOLOR_YELLOW,
     518    DBGCSCREENCOLOR_YELLOW_BRIGHT,
     519    /** Blue. */
     520    DBGCSCREENCOLOR_BLUE,
     521    DBGCSCREENCOLOR_BLUE_BRIGHT,
     522    /** Magenta. */
     523    DBGCSCREENCOLOR_MAGENTA,
     524    DBGCSCREENCOLOR_MAGENTA_BRIGHT,
     525    /** Cyan. */
     526    DBGCSCREENCOLOR_CYAN,
     527    DBGCSCREENCOLOR_CYAN_BRIGHT,
     528    /** White. */
     529    DBGCSCREENCOLOR_WHITE,
     530    DBGCSCREENCOLOR_WHITE_BRIGHT
     531} DBGCSCREENCOLOR;
     532/** Pointer to a screen color. */
     533typedef DBGCSCREENCOLOR *PDBGCSCREENCOLOR;
     534
     535DECLHIDDEN(int)  dbgcScreenAsciiCreate(PDBGCSCREEN phScreen, uint32_t cchWidth, uint32_t cchHeight);
     536DECLHIDDEN(void) dbgcScreenAsciiDestroy(DBGCSCREEN hScreen);
     537DECLHIDDEN(int)  dbgcScreenAsciiBlit(DBGCSCREEN hScreen, PFNDGCSCREENBLIT pfnBlit, void *pvUser, bool fAddColors);
     538DECLHIDDEN(int)  dbgcScreenAsciiDrawLineVertical(DBGCSCREEN hScreen, uint32_t uX, uint32_t uStartY,
     539                                                 uint32_t uEndY, char ch, DBGCSCREENCOLOR enmColor);
     540DECLHIDDEN(int)  dbgcScreenAsciiDrawLineHorizontal(DBGCSCREEN hScreen, uint32_t uStartX, uint32_t uEndX,
     541                                                   uint32_t uY, char ch, DBGCSCREENCOLOR enmColor);
     542DECLHIDDEN(int)  dbgcScreenAsciiDrawCharacter(DBGCSCREEN hScreen, uint32_t uX, uint32_t uY, char ch,
     543                                              DBGCSCREENCOLOR enmColor);
     544DECLHIDDEN(int)  dbgcScreenAsciiDrawString(DBGCSCREEN hScreen, uint32_t uX, uint32_t uY, const char *pszText,
     545                                           DBGCSCREENCOLOR enmColor);
    458546
    459547/* For tstDBGCParser: */
  • trunk/src/VBox/Debugger/Makefile.kmk

    r64371 r64554  
    4949        DBGCOps.cpp \
    5050        DBGCGdbRemoteStub.cpp \
    51         DBGCTcp.cpp
     51        DBGCTcp.cpp \
     52        DBGCScreenAscii.cpp
    5253
    5354#
注意: 瀏覽 TracChangeset 來幫助您使用更動檢視器

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette