求指导解决思路

求指导
编写程序时 经常语法没错误
但是运行不能通过
有时进入死循环
有时直接错误中止
各位都是用什么方法来查找这种错误的?

------解决方案--------------------
单步调试。

“VC调试(TC或BC用TD调试)时按Alt+8、Alt+6和Alt+5,打开汇编窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应内存和寄存器变化,这样过一遍不就啥都明白了吗。
(Linux或Unix下可以在用GDB调试时,看每句C对应的汇编并单步执行观察相应内存和寄存器变化。)
想要从本质上理解C指针,必须学习C和汇编的对应关系。”
不是一回事!

------解决方案--------------------
我最常用的方法是PRINT和TRACE,然后看程序运行到什么地方出错了。当然程序运行正确还要包括功能正确,功能正确只有靠测试了,具体的测试方法可以买本书看看。如果是小程序,可能就没有那么多严格要求了。
------解决方案--------------------
写日志调试。

设断点(代码断点和数据断点)单步调试。

崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处。

------解决方案--------------------
设断点(代码断点和数据断点)单步调试。