Index: uspace/app/trace/trace.c
===================================================================
--- uspace/app/trace/trace.c	(revision fb9b0b0531bad96f4f612fbc28c26852439f1adb)
+++ uspace/app/trace/trace.c	(revision c9a29d66b60ccb0e6b9460485ef933074fd1b30a)
@@ -73,7 +73,5 @@
 	int rc;
 
-	printf("ipc_connect_task(%lld)... ", task_id);
 	rc = ipc_connect_kbox(task_id);
-	printf("-> %d\n", rc);
 
 	if (rc == ENOTSUP) {
@@ -82,18 +80,26 @@
 		printf("Compile kernel with 'Support for userspace debuggers' "
 		    "(CONFIG_UDEBUG) enabled.\n");
+		return rc;
+	}
+
+	if (rc < 0) {
+		printf("Error connecting\n");
+		printf("ipc_connect_task(%lld) -> %d ", task_id, rc);
+		return rc;
 	}
 
 	phoneid = rc;
-	if (rc < 0) return rc;
-
-	printf("udebug_begin()... ");
+
 	rc = udebug_begin(phoneid);
-	printf("-> %d\n", rc);
-	if (rc < 0) return rc;
-
-	printf("udebug_set_evmask(0x%x)... ", UDEBUG_EM_ALL);
+	if (rc < 0) {
+		printf("udebug_begin() -> %d\n", rc);
+		return rc;
+	}
+
 	rc = udebug_set_evmask(phoneid, UDEBUG_EM_ALL);
-	printf("-> %d\n", rc);
-	if (rc < 0) return rc;
+	if (rc < 0) {
+		printf("udebug_set_evmask(0x%x) -> %d\n ", UDEBUG_EM_ALL, rc);
+		return rc;
+	}
 
 	return 0;
@@ -107,15 +113,16 @@
 	int i;
 
-	printf("send IPC_M_DEBUG_THREAD_READ message\n");
 	rc = udebug_thread_read(phoneid, thread_hash_buf,
 		THBUF_SIZE*sizeof(unsigned), &tb_copied, &tb_needed);
-	printf("-> %d\n", rc);
-	if (rc < 0) return rc;
+	if (rc < 0) {
+		printf("udebug_thread_read() -> %d\n", rc);
+		return rc;
+	}
 
 	n_threads = tb_copied / sizeof(unsigned);
 
-	printf("thread IDs:");
-	for (i=0; i<n_threads; i++) {
-		printf(" %u", thread_hash_buf[i]);
+	printf("Threads:");
+	for (i = 0; i < n_threads; i++) {
+		printf(" [%d] (hash 0x%u)", 1+i, thread_hash_buf[i]);
 	}
 	printf("\ntotal of %u threads\n", tb_needed/sizeof(unsigned));
@@ -335,5 +342,5 @@
 {
 	async_serialize_start();
-	printf("new thread, hash 0x%x\n", hash);
+	printf("New thread, hash 0x%x\n", hash);
 	async_serialize_end();
 
@@ -352,5 +359,5 @@
 	thread_id = next_thread_id++;
 
-	printf("trace_loop(%d)\n", thread_id);	
+	printf("Start tracing thread [%d] (hash 0x%x)\n", thread_id, thread_hash);
 
 	while (!abort_trace) {
@@ -362,5 +369,5 @@
 //		printf("rc = %d, ev_type=%d\n", rc, ev_type);
 		if (ev_type == UDEBUG_EVENT_FINISHED) {
-			printf("thread %u debugging finished\n", thread_id);
+			/* Done tracing this thread */
 			break;
 		}
@@ -375,6 +382,6 @@
 				break;
 			case UDEBUG_EVENT_STOP:
-				printf("stop event\n");
-				printf("waiting for resume\n");
+				printf("Stop event\n");
+				printf("Waiting for resume\n");
 				while (paused) {
 					usleep(1000000);
@@ -382,5 +389,5 @@
 					printf(".");
 				}
-				printf("resumed\n");
+				printf("Resumed\n");
 				break;
 			case UDEBUG_EVENT_THREAD_B:
@@ -388,9 +395,9 @@
 				break;
 			case UDEBUG_EVENT_THREAD_E:
-				printf("thread 0x%x exited\n", val0);
+				printf("Thread 0x%x exited\n", val0);
 				abort_trace = 1;
 				break;
 			default:
-				printf("unknown event type %d\n", ev_type);
+				printf("Unknown event type %d\n", ev_type);
 				break;
 			}
@@ -399,5 +406,5 @@
 	}
 
-	printf("trace_loop(%d) exiting\n", thread_id);
+	printf("Finished tracing thread [%d]\n", thread_id);
 	return 0;
 }
@@ -433,5 +440,10 @@
 
 	ipcp_init();
-	ipcp_connection_set(1, 0, proto_console);
+
+	/* 
+	 * User apps now typically have console on phone 3.
+	 * (Phones 1 and 2 are used by the loader).
+	 */
+	ipcp_connection_set(3, 0, proto_console);
 
 	rc = get_thread_list();
@@ -460,5 +472,5 @@
 	}
 
-	printf("terminate debugging session...\n");
+	printf("\nTerminate debugging session...\n");
 	abort_trace = 1;
 	udebug_end(phoneid);
@@ -467,5 +479,5 @@
 	ipcp_cleanup();
 
-	printf("done\n");
+	printf("Done\n");
 	return;
 }
@@ -521,5 +533,5 @@
 static void print_syntax()
 {
-	printf("syntax: trace <task_id>\n");
+	printf("Syntax: trace <task_id>\n");
 }
 
