请教程序该怎么调试

请问程序该如何调试?我自己写了个程序,用DEBUG模式编译的程序,没有用VS的调试模式运行,而是直接双击运行,

请问程序该如何调试?
我自己写了个程序,用DEBUG模式   编译的程序,没有用VS的调试模式运行,而是直接双击运行,在运行一段时间后出现   0xxxxxxx   引用   0x000000000的内存   不为read   错误,然后程序就关闭了,   请问   如何不用vs的调试模式   ,如何知道   是哪一段代码出错。

PS:因为我把   这个程序放到其他电脑上的运行,其他电脑没有安装vs,但是我把程序需要的库文件全部复制过去了的。

[解决办法]
一般是由于指针变量没有被赋值引起的,有些时候由于刚开始的时候指针都是被赋上正确的值,所以不会体现出来,而程序运行一段时间后才出现这样的情况。
总之,这种指针问题是最难解决的,就是调试都很恼火,首先需要确定问题大概出现在哪个部分,这样或许好找到错误一点。
更何况不用调试模式了。。。。。。