Suppose you run a program called prog, it crashed and you got core.1234 file.
My questions are:
1) To me a core dump is nothing more than a series of records: where you made the function calls, what is the memory address, etc. So core.1234 is supposed to be a document rather than a binary file. It should be viewed by "less" or similar editor. But what I can see are garbage characters. Then what exactly is core dump?!
2) I know 2 ways to use gdb:
gdb prog
(gdb) run
...
(gdb) bt
OR
gdb prog core.1234
(gdb) bt
What are the differences ?