First, you need a map file. From the map file you can find the memory address (0x8048c09). The function will actually start from address to address on the stack. From here you know what function you came across, and with a little knowledge of the assembler you can understand how far it crashed. Then you look at the code and try to figure out what you are doing wrong.
Otherwise ... use a debugger. Then you can see where it crashed. From there, you can even (if you use an optimized assembly that you can) to find out exactly what you are calling and what are the parameters. Then you can see what causes the problem, and you can stop it.
source share