Esta provavelmente não é uma questão específica do Ubuntu, então, por favor, dê uma olhada em esta resposta em stackoverflow .
Se esse código:
#include<stdio.h>
#include<string.h>
int main(){
char str_a[20];
strcpy(str_a,"Hello, world!\n");
printf(str_a);
return 0;}
é realmente o código que você está tentando depurar, gcc
provavelmente é inteligente
ter simpified seu código como printf("Hello world\n"); return 0
, ou simplesmente usar o builtin para strcpy
.
Então, tente --no-builtin
, perphaps com -O0
, pelo menos está funcionando em gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
.
Você pode usar objdump -d prog
para ver a desmontagem do seu código, não há chamada para strcpy
aqui.
Para esta questão em particular
Você está usando break 7
, mas a linha está vazia, usando break 8
para funcionar.