This is an automated email from Gerrit.

"Tim Newsome <t...@sifive.com>" just uploaded a new patch set to Gerrit, which 
you can find at https://review.openocd.org/c/openocd/+/7895

-- gerrit

commit eea624773f0313f4502b92dce238b1ce24489da2
Author: Tim Newsome <t...@sifive.com>
Date:   Wed Aug 16 12:47:57 2023 -0700

    server/gdb_server: Log gdb index in debug messages.
    
    This makes it easier to look at log files where multiple gdb instances
    are connected.
    
    Change-Id: Ic5aca52b32ee03ac35ffbed9a2fc552abb0a1cba
    Signed-off-by: Tim Newsome <t...@sifive.com>

diff --git a/src/server/gdb_server.c b/src/server/gdb_server.c
index 4a4ea53dc3..ac90f48fe0 100644
--- a/src/server/gdb_server.c
+++ b/src/server/gdb_server.c
@@ -95,6 +95,8 @@ struct gdb_connection {
        char *thread_list;
        /* flag to mask the output from gdb_log_callback() */
        enum gdb_output_flag output_flag;
+       /* Unique index for this GDB connection. */
+       unsigned int index;
 };
 
 #if 0
@@ -351,6 +353,7 @@ static void gdb_log_incoming_packet(struct connection 
*connection, char *packet)
                return;
 
        struct target *target = get_target_from_connection(connection);
+       struct gdb_connection *gdb_connection = connection->priv;
 
        /* Avoid dumping non-printable characters to the terminal */
        const unsigned packet_len = strlen(packet);
@@ -365,14 +368,15 @@ static void gdb_log_incoming_packet(struct connection 
*connection, char *packet)
                if (packet_prefix_printable) {
                        const unsigned int prefix_len = colon - packet + 1;  /* 
+ 1 to include the ':' */
                        const unsigned int payload_len = packet_len - 
prefix_len;
-                       LOG_TARGET_DEBUG(target, "received packet: 
%.*s<binary-data-%u-bytes>", prefix_len,
-                               packet, payload_len);
+                       LOG_TARGET_DEBUG(target, "{%d} received packet: 
%.*s<binary-data-%u-bytes>",
+                               gdb_connection->index, prefix_len, packet, 
payload_len);
                } else {
-                       LOG_TARGET_DEBUG(target, "received packet: 
<binary-data-%u-bytes>", packet_len);
+                       LOG_TARGET_DEBUG(target, "{%d} received packet: 
<binary-data-%u-bytes>",
+                               gdb_connection->index, packet_len);
                }
        } else {
                /* All chars printable, dump the packet as is */
-               LOG_TARGET_DEBUG(target, "received packet: %s", packet);
+               LOG_TARGET_DEBUG(target, "{%d} received packet: %s", 
gdb_connection->index, packet);
        }
 }
 
@@ -993,6 +997,7 @@ static int gdb_new_connection(struct connection *connection)
        gdb_connection->target_desc.tdesc_length = 0;
        gdb_connection->thread_list = NULL;
        gdb_connection->output_flag = GDB_OUTPUT_NO;
+       gdb_connection->index = gdb_actual_connections + 1;
 
        /* send ACK to GDB for debug request */
        gdb_write(connection, "+", 1);
@@ -1051,20 +1056,19 @@ static int gdb_new_connection(struct connection 
*connection)
                }
        }
 
-       gdb_actual_connections++;
        log_printf_lf(all_targets->next ? LOG_LVL_INFO : LOG_LVL_DEBUG,
                        __FILE__, __LINE__, __func__,
                        "New GDB Connection: %d, Target %s, state: %s",
-                       gdb_actual_connections,
+                       gdb_connection->index,
                        target_name(target),
                        target_state_name(target));
 
        if (!target_was_examined(target)) {
                LOG_ERROR("Target %s not examined yet, refuse gdb connection 
%d!",
-                                 target_name(target), gdb_actual_connections);
-               gdb_actual_connections--;
+                                 target_name(target), gdb_connection->index);
                return ERROR_TARGET_NOT_EXAMINED;
        }
+       gdb_actual_connections++;
 
        if (target->state != TARGET_HALTED)
                LOG_WARNING("GDB connection %d on target %s not halted",

-- 

Reply via email to