From 7bb035fdab19693423f95b39bdcd6cb1ddff1c20 Mon Sep 17 00:00:00 2001 From: Mihail Abakumov Date: Wed, 12 Apr 2017 15:00:57 +0300 Subject: [PATCH] Removed dump file --- include/exec/windbgstub.h | 4 ++-- windbgstub.c | 15 +++++++++++---- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/include/exec/windbgstub.h b/include/exec/windbgstub.h index b4a66d30a860..613221830610 100644 --- a/include/exec/windbgstub.h +++ b/include/exec/windbgstub.h @@ -2,9 +2,9 @@ #define WINDBGSTUB_H // windbg.exe -b -k com:pipe,baud=115200,port=\\.\pipe\windbg,resets=0 -// qemu.exe -windbg pipe:windbg_chr +// qemu.exe -windbg pipe:windbg -#define WINDBG_DEBUG_ON true +#define WINDBG_DEBUG_ON false void windbg_debug_parser_hook(bool is_kernel, const uint8_t *buf, int len); void windbg_start_sync(void); diff --git a/windbgstub.c b/windbgstub.c index 62fcabc83365..715650ed652f 100644 --- a/windbgstub.c +++ b/windbgstub.c @@ -50,7 +50,9 @@ typedef struct WindbgState { uint32_t data_packet_id; bool is_loaded; + #if (WINDBG_DEBUG_ON) FILE *dump_file; + #endif } WindbgState; static WindbgState *windbg_state = NULL; @@ -61,6 +63,7 @@ static WindbgState *windbg_state = NULL; void windbg_dump(const char *fmt, ...) { + #if (WINDBG_DEBUG_ON) va_list ap; va_start(ap, fmt); @@ -69,6 +72,7 @@ void windbg_dump(const char *fmt, ...) fflush(windbg_state->dump_file); } va_end(ap); + #endif } static void windbg_send_data_packet(uint8_t *data, uint16_t byte_count, uint16_t type) @@ -119,8 +123,10 @@ static void windbg_bp_handler(CPUState *cpu) static void windbg_vm_stop(void) { + CPUState *cpu = qemu_get_cpu(0); vm_stop(RUN_STATE_PAUSED); - windbg_bp_handler(qemu_get_cpu(0)); + cpu_single_step(cpu, 0); + windbg_bp_handler(cpu); } static void windbg_process_manipulate_packet(ParsingContext *ctx) @@ -553,8 +559,9 @@ void windbg_start_sync(void) static void windbg_exit(void) { windbg_on_exit(); - + #if (WINDBG_DEBUG_ON) FCLOSE(windbg_state->dump_file); + #endif #if (ENABLE_PARSER) FCLOSE(parsed_packets); FCLOSE(parsed_api); @@ -588,9 +595,9 @@ int windbg_start(const char *device) qemu_chr_add_handlers(windbg_state->chr, windbg_chr_can_receive, windbg_chr_receive, NULL, NULL); - // open dump file + #if (WINDBG_DEBUG_ON) windbg_state->dump_file = fopen(WINDBG_DIR "dump.txt", "wb"); - + #endif #if (ENABLE_PARSER) windbg_debug_open_files(); #endif