diff --git i/src/plugins/gdb/gbp-gdb-debugger.c w/src/plugins/gdb/gbp-gdb-debugger.c
index 45d1e4175..d3e16cbf6 100644
--- i/src/plugins/gdb/gbp-gdb-debugger.c
+++ w/src/plugins/gdb/gbp-gdb-debugger.c
@@ -1226,12 +1226,20 @@ gbp_gdb_debugger_insert_breakpoint_async (IdeDebugger           *debugger,
 
   if (file != NULL && line > 0)
     {
-      g_string_append_printf (command, " --source %s", file);
+      gchar *translated_file = g_file_get_path(self->builddir);
+      // /home/alberto/
+      file = file + 14;
+      translated_file = g_strjoin("/", translated_file, "../../../../../../../../..", file, NULL); 
+      g_string_append_printf (command, " --source %s", translated_file);
       g_string_append_printf (command, " --line %u", line);
     }
   else if (file != NULL && func != NULL)
     {
-      g_string_append_printf (command, " --source %s", file);
+      gchar *translated_file = g_file_get_path(self->builddir);
+      // /home/alberto/
+      file = file + 14;
+      translated_file = g_strjoin("/", translated_file, "../../../../../../../../..", file, NULL); 
+      g_string_append_printf (command, " --source %s", translated_file);
       g_string_append_printf (command, " --function %s", func);
     }
   else if (addr != 0)
