From: syeon.hwang Date: Thu, 15 Mar 2012 12:33:47 +0000 (+0900) Subject: [Title] Redirect stdout, stderr to emulator.log X-Git-Tag: Tizen_Studio_1.3_Release_p2.3.1~1814 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=64e23ade8096d958ba8f0f5e2f6af7259d3dde20;p=sdk%2Femulator%2Fqemu.git [Title] Redirect stdout, stderr to emulator.log [Type] [Module] Emulator/ [Priority] [CQ#] [Redmine#] [Problem] [Cause] [Solution] [TestCase] --- diff --git a/tizen/src/emulator.c b/tizen/src/emulator.c index 19c1b53b06..55d73c707c 100644 --- a/tizen/src/emulator.c +++ b/tizen/src/emulator.c @@ -160,11 +160,57 @@ void get_tizen_port(char* option) INFO( "tizen_base_port: %d\n", tizen_base_port); } +void redir_output(void) +{ + FILE *fp; +// FIXME !! +// strcpy(logfile, get_virtual_target_log_path(startup_option.vtm)); +// strcat(logfile, "/emulator.log"); + + fp = freopen("emulator.log", "a+", stdout); + if(fp ==NULL) + fprintf(stderr, "log file open error\n"); + fp = freopen("emulator.log", "a+", stderr); + if(fp ==NULL) + fprintf(stderr, "log file open error\n"); + + setvbuf(stdout, NULL, _IOLBF, BUFSIZ); + setvbuf(stderr, NULL, _IOLBF, BUFSIZ); +} + +void extract_info(int qemu_argc, char** qemu_argv) +{ + int i; + char *option = NULL; + + for(i = 0; i < qemu_argc; ++i) + { + if(strstr(qemu_argv[i], IMAGE_PATH_PREFIX) != NULL) { + get_image_path(qemu_argv[i]); + } + if((option = strstr(qemu_argv[i], SDB_PORT_PREFIX)) != NULL) { + get_tizen_port(option); + write_portfile(tizen_target_path); + } + + } +} int qemu_main(int argc, char** argv, char** envp); int main(int argc, char* argv[]) { + int skin_argc = 0; + char** skin_argv = NULL; + + int qemu_argc = 0; + char** qemu_argv = NULL; + char proxy[MIDBUF] ={0}, dns1[MIDBUF] = {0}, dns2[MIDBUF] = {0}; + + INFO("Emulator start !!!\n"); + // redir_output after debug_ch is initialized... + redir_output(); + #ifdef _WIN32 WSADATA wsadata; if(WSAStartup(MAKEWORD(2,0), &wsadata) == SOCKET_ERROR) { @@ -172,59 +218,29 @@ int main(int argc, char* argv[]) return NULL; } #endif - - int skin_argc = 0; - char** skin_argv = NULL; - - int qemu_argc = 0; - char** qemu_argv = NULL; - + parse_options(argc, argv, &skin_argc, &skin_argv, &qemu_argc, &qemu_argv); + extract_info(qemu_argc, qemu_argv); int i; -/* - printf("%d\n", skin_argc); - for(i = 0; i < skin_argc; ++i) - { - printf("%s\n", skin_argv[i]); - } -*/ - -// printf("%d\n", qemu_argc); char *option = NULL; - INFO("qemu args : =====================================\n"); + fprintf(stdout, "qemu args : ==========================================\n"); for(i = 0; i < qemu_argc; ++i) { - INFO("%s ", qemu_argv[i]); - if(strstr(qemu_argv[i], IMAGE_PATH_PREFIX) != NULL) { - get_image_path(qemu_argv[i]); - } - if((option = strstr(qemu_argv[i], SDB_PORT_PREFIX)) != NULL) { - get_tizen_port(option); - write_portfile(tizen_target_path); - } - + fprintf(stdout, "%s ", qemu_argv[i]); } + fprintf(stdout, "\n"); + fprintf(stdout, "======================================================\n"); - INFO("\n"); - //INFO("======================================================\n"); - - INFO("skin args : =====================================\n"); + fprintf(stdout, "skin args : ==========================================\n"); for(i = 0; i < skin_argc; ++i) { - INFO("%s ", skin_argv[i]); - if(strstr(skin_argv[i], IMAGE_PATH_PREFIX) != NULL) { - get_image_path(skin_argv[i]); - } - if((option = strstr(skin_argv[i], SDB_PORT_PREFIX)) != NULL) { - get_tizen_port(option); - } - + fprintf(stdout, "%s ", skin_argv[i]); } - INFO("\n"); - INFO("======================================================\n"); + fprintf(stdout, "\n"); + fprintf(stdout, "======================================================\n"); sdb_setup();