Changes in uspace/app/trace/trace.c [1ccafee:7e752b2] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/trace/trace.c
r1ccafee r7e752b2 43 43 #include <task.h> 44 44 #include <mem.h> 45 #include <str ing.h>45 #include <str.h> 46 46 #include <bool.h> 47 47 #include <loader/loader.h> … … 161 161 if (rc < 0) { 162 162 printf("Error connecting\n"); 163 printf("ipc_connect_task(%" PRI dTASKID") -> %d ", task_id, rc);163 printf("ipc_connect_task(%" PRIu64 ") -> %d ", task_id, rc); 164 164 return rc; 165 165 } … … 200 200 printf("Threads:"); 201 201 for (i = 0; i < n_threads; i++) { 202 printf(" [%d] (hash %p)", 1 +i,thread_hash_buf[i]);203 } 204 printf("\ntotal of % u threads\n", tb_needed / sizeof(uintptr_t));202 printf(" [%d] (hash %p)", 1 + i, (void *) thread_hash_buf[i]); 203 } 204 printf("\ntotal of %zu threads\n", tb_needed / sizeof(uintptr_t)); 205 205 206 206 return 0; … … 224 224 case V_HASH: 225 225 case V_PTR: 226 printf("%p", val);226 printf("%p", (void *) val); 227 227 break; 228 228 … … 248 248 case V_CHAR: 249 249 if (sval >= 0x20 && sval < 0x7f) { 250 printf("'%c'", sval);250 printf("'%c'", (char) sval); 251 251 } else { 252 252 switch (sval) { … … 257 257 case '\t': printf("'\\t'"); break; 258 258 case '\\': printf("'\\\\'"); break; 259 default: printf("'\\x%02 lX'", val); break;259 default: printf("'\\x%02" PRIxn "'", val); break; 260 260 } 261 261 } … … 277 277 278 278 putchar('('); 279 if (n > 0) printf("%" PRI dSYSARG, sc_args[0]);279 if (n > 0) printf("%" PRIun, sc_args[0]); 280 280 for (i = 1; i < n; i++) { 281 printf(", %" PRI dSYSARG, sc_args[i]);281 printf(", %" PRIun, sc_args[i]); 282 282 } 283 283 putchar(')'); … … 489 489 { 490 490 async_serialize_start(); 491 printf("New thread, hash 0x%lx\n",hash);491 printf("New thread, hash %p\n", (void *) hash); 492 492 async_serialize_end(); 493 493 … … 510 510 } 511 511 512 printf("Start tracing thread [%d] (hash %p).\n", thread_id, thread_hash); 512 printf("Start tracing thread [%u] (hash %p).\n", 513 thread_id, (void *) thread_hash); 513 514 514 515 while (!abort_trace) { … … 516 517 fibril_mutex_lock(&state_lock); 517 518 if (paused) { 518 printf("Thread [% d] paused. Press R to resume.\n",519 printf("Thread [%u] paused. Press R to resume.\n", 519 520 thread_id); 520 521 … … 522 523 fibril_condvar_wait(&state_cv, &state_lock); 523 524 524 printf("Thread [% d] resumed.\n", thread_id);525 printf("Thread [%u] resumed.\n", thread_id); 525 526 } 526 527 fibril_mutex_unlock(&state_lock); … … 554 555 break; 555 556 case UDEBUG_EVENT_THREAD_E: 556 printf("Thread % pexited.\n", val0);557 printf("Thread %" PRIun " exited.\n", val0); 557 558 fibril_mutex_lock(&state_lock); 558 559 abort_trace = true; … … 585 586 } 586 587 587 static loader_t *preload_task(const char *path, char * const argv[],588 static loader_t *preload_task(const char *path, char **argv, 588 589 task_id_t *task_id) 589 590 { … … 591 592 int rc; 592 593 593 /* Spawn a program loader */ 594 /* Spawn a program loader */ 594 595 ldr = loader_connect(); 595 596 if (ldr == NULL) … … 607 608 608 609 /* Send arguments */ 609 rc = loader_set_args(ldr, argv);610 rc = loader_set_args(ldr, (const char **) argv); 610 611 if (rc != EOK) 611 612 goto error; … … 870 871 } 871 872 872 static display_mask_t parse_display_mask(c har *text)873 static display_mask_t parse_display_mask(const char *text) 873 874 { 874 875 display_mask_t dm; 875 char *c; 876 877 c = text; 878 876 const char *c = text; 877 879 878 while (*c) { 880 879 switch (*c) { 881 case 't': dm = dm | DM_THREAD; break; 882 case 's': dm = dm | DM_SYSCALL; break; 883 case 'i': dm = dm | DM_IPC; break; 884 case 'p': dm = dm | DM_SYSTEM | DM_USER; break; 880 case 't': 881 dm = dm | DM_THREAD; 882 break; 883 case 's': 884 dm = dm | DM_SYSCALL; 885 break; 886 case 'i': 887 dm = dm | DM_IPC; 888 break; 889 case 'p': 890 dm = dm | DM_SYSTEM | DM_USER; 891 break; 885 892 default: 886 893 printf("Unexpected event type '%c'.\n", *c); 887 894 exit(1); 888 895 } 889 896 890 897 ++c; 891 898 } 892 899 893 900 return dm; 894 901 } … … 896 903 static int parse_args(int argc, char *argv[]) 897 904 { 898 char *arg;899 905 char *err_p; 900 906 901 907 task_id = 0; 902 908 903 --argc; ++argv; 909 --argc; 910 ++argv; 904 911 905 912 while (argc > 0) { 906 arg = *argv;913 char *arg = *argv; 907 914 if (arg[0] == '+') { 908 915 display_mask = parse_display_mask(&arg[1]); … … 910 917 if (arg[1] == 't') { 911 918 /* Trace an already running task */ 912 --argc; ++argv; 919 --argc; 920 ++argv; 913 921 task_id = strtol(*argv, &err_p, 10); 914 922 task_ldr = NULL; … … 920 928 } 921 929 } else { 922 printf("Uknown option '% s'\n", arg[0]);930 printf("Uknown option '%c'\n", arg[0]); 923 931 print_syntax(); 924 932 return -1; … … 927 935 break; 928 936 } 929 930 --argc; ++argv; 937 938 --argc; 939 ++argv; 931 940 } 932 941 933 942 if (task_id != 0) { 934 if (argc == 0) return 0; 943 if (argc == 0) 944 return 0; 935 945 printf("Extra arguments\n"); 936 946 print_syntax(); … … 946 956 /* Preload the specified program file. */ 947 957 printf("Spawning '%s' with arguments:\n", *argv); 948 { 949 char **cp = argv; 950 while (*cp) printf("'%s'\n", *cp++); 951 } 958 959 char **cp = argv; 960 while (*cp) 961 printf("'%s'\n", *cp++); 962 952 963 task_ldr = preload_task(*argv, argv, &task_id); 953 964 task_wait_for = true; … … 974 985 rc = connect_task(task_id); 975 986 if (rc < 0) { 976 printf("Failed connecting to task %" PRI dTASKID".\n", task_id);987 printf("Failed connecting to task %" PRIu64 ".\n", task_id); 977 988 return 1; 978 989 } 979 990 980 printf("Connected to task %" PRI dTASKID".\n", task_id);991 printf("Connected to task %" PRIu64 ".\n", task_id); 981 992 982 993 if (task_ldr != NULL)
Note:
See TracChangeset
for help on using the changeset viewer.