I am analyzing a crash dump file which crashed when it was loading or saving a certain (local) data file. The call stack shows it had executed loading that file at the time of crash.
I am wondering if I need to have this data file along with the dump file as well to accurately analyze the crash? Will it affect the pointers in any way like the filename etc?
No, you don't need it. The what you will analyze with gdb is a snapshot of the memory used by your app made upon its crash, together with your app. Thus, it is only required to have the core file, and your app (binary + required libraries; in the best case you will need source code of them to be able to relate the debugging info to the algorithms). All pointers, variables and other will have values as per the moment of time when the core has dumped.
UPDATE: But, you can also run your app interactively from the debugger and step until you crash. Then yes, you will need your file.