In case of crashes, do the following:
1. Download OllyDbg(any version is fine, i use 2.0.1)
2. Extract it to some folder
3. Start BC2 in windowed mode, olly needs to be closed when you do this or you will get some error! If you are running windows 7 you can press alt+enter to go to windowed mode.
4. When you are at the main screen, open OllyDbg.exe and press File->Attach, then select Battlefield Bad Company 2. Double click it.
5. Olly will now start doing some analysis and eventually you will see a "Pause" message(Click Me)
6. Now press the Run/Play button(F9 is the hotkey), you need to press it until the status changes from Pause to Running(Click Me)
7. Now look for a server and join it, as soon as you join the server olly will pause the game again you need to press F9 to make it run. This might also happen when the map finishes loading so you have to press Run/Play/F9 in Olly very fast or you will lose the connection to the server. This will also happen every time the server changes maps!
8. Once you are ingame keep playing until olly goes to Pause mode again, when it does this try to run it several times. Remember, Olly will go into Pause mode when the server changes maps as well as when the game crashes, so its not limited to just the crash. Thats why you have to try pressing the Run/Play/F9 several times to see if the status changes from Pause to Running. When the crash occurs the status wont change.
9. Once you are sure that the crash has occured, inside OllyDbg, double click on the CPU- window(to enlarge it) and take a screenshot of it(it should look like this: Click Me) Ignore the text inside my screenshot, yours will not look the same!
10. Post that screenshot in this thread and I will be able to fix the crash.