mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2025-02-09 00:15:07 +00:00
![Xu Jun](/assets/img/avatar_default.png)
- use platform independent data types in debug-engine library - add os_socket APIs and provide windows and posix implementation - avoid using platform related header files in non-platform layer - use format specifiers macros for sprintf and sscanf - change thread handle type from uint64 to korp_tid - add lock when sending socket packet to avoid thread racing
47 lines
969 B
C
47 lines
969 B
C
/*
|
|
* Copyright (C) 2021 Ant Group. All rights reserved.
|
|
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
*/
|
|
|
|
#ifndef _GDB_SERVER_H
|
|
#define _GDB_SERVER_H
|
|
|
|
#include "bh_platform.h"
|
|
|
|
#define PACKET_BUF_SIZE 0x8000
|
|
|
|
enum GDBStoppointType {
|
|
eStoppointInvalid = -1,
|
|
eBreakpointSoftware = 0,
|
|
eBreakpointHardware,
|
|
eWatchpointWrite,
|
|
eWatchpointRead,
|
|
eWatchpointReadWrite
|
|
};
|
|
typedef struct WasmDebugPacket {
|
|
unsigned char buf[PACKET_BUF_SIZE];
|
|
uint32 size;
|
|
} WasmDebugPacket;
|
|
|
|
struct WASMDebugControlThread;
|
|
typedef struct WASMGDBServer {
|
|
bh_socket_t listen_fd;
|
|
bh_socket_t socket_fd;
|
|
WasmDebugPacket pkt;
|
|
bool noack;
|
|
struct WASMDebugControlThread *thread;
|
|
} WASMGDBServer;
|
|
|
|
WASMGDBServer *
|
|
wasm_create_gdbserver(const char *host, int32 *port);
|
|
|
|
bool
|
|
wasm_gdbserver_listen(WASMGDBServer *server);
|
|
|
|
void
|
|
wasm_close_gdbserver(WASMGDBServer *server);
|
|
|
|
bool
|
|
wasm_gdbserver_handle_packet(WASMGDBServer *server);
|
|
#endif
|