经典回帖语句

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq423399099/article/details/51577407

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

进程意外退出会在当前目录下产生‘core’文件或形如‘core.数字’的文件比如‘core.1234’
使用命令
gdb 运行程序名 core或core.数字
进入gdb然后使用bt命令
可以查看进程意外退出前函数调用的堆栈,内容为从上到下列出对应从里层到外层的函数调用历史。
如果进程意外退出不产生core文件,参考“ulimit -c core文件最大块大小”命令


代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。

提醒:再牛×的老师也无法代替学生自己领悟和上厕所!

单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。



理解讨论之前请先学会如何观察

计算机组成原理→DOS命令→汇编语言→C语言(不包括C++)、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言(包括C++)、架构……

对学习编程者的忠告:
多用小脑和手,少用大脑、眼睛和嘴,会更快地学会编程!
眼过千遍不如手过一遍!
书看千行不如手敲一行!
手敲千行不如单步一行!
单步源代码千行不如单步Debug版对应汇编一行!
单步Debug版对应汇编千行不如单步Release版对应汇编一行!
不会单步Release版对应汇编?在你想单步Release版C/C++代码片断的前面临时加一句DebugBreak();重建所有,然后在IDE中运行。(一般人我不告诉他!

单步类的实例“构造”或“复制”或“作为函数参数”或“作为函数返回值返回”或“参加各种运算”或“退出作用域”的语句对应的汇编代码几步后,就会来到该类的“构造函数”或“复制构造函数”或“运算符重载”或“析构函数”对应的C/C++源代码处。

VC调试时按Alt+8、Alt+7、Alt+6和Alt+5,打开汇编窗口、堆栈窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应堆栈、内存和寄存器变化,这样过一遍不就啥都明白了吗。
对VC来说,所谓‘调试时’就是编译连接通过以后,按F10或F11键单步执行一步以后的时候,或者在某行按F9设了断点后按F5执行停在该断点处的时候。


“给定一个小点的输入,完整单步跟踪(同时按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史)一遍。”是理解递归函数工作原理的不二法门!
递归函数关注以下几个因素
·退出条件
·参数有哪些
·返回值是什么
·局部变量有哪些
·全局变量有哪些
·何时输出
·会不会导致堆栈溢出


不要迷信书、考题、老师、回帖;
要迷信CPU、编译器、调试器、运行结果。
并请结合“盲人摸太阳”和“驾船出海时一定只带一个指南针。”加以理解。
任何理论、权威、传说、真理、标准、解释、想象、知识……都比不上摆在眼前的事实!

有人说一套做一套,你相信他说的还是相信他做的?
其实严格来说这个世界上古往今来所有人都是说一套做一套,不是吗?

不要写连自己也预测不了结果的代码!


对学习编程者的忠告:
眼过千遍不如手过一遍!
书看千行不如手敲一行!
手敲千行不如单步一行!
单步源代码千行不如单步对应汇编一行!  


电脑内存或文件内容只是一个一维二进制字节数组及其对应的二进制地址;
人脑才将电脑内存或文件内容中的这个一维二进制字节数组及其对应的二进制地址的某些部分看成是整数、有符号数/无符号数、浮点数、复数、英文
字母、阿拉伯数字、中文/韩文/法文……字符/字符串、汇编指令、函数、函数参数、堆、栈、数组、指针、数组指针、指针数组、数组的数组、指针
的指针、二维数组、字符点阵、字符笔画的坐标、黑白二值图片、灰度图片、彩色图片、录音、视频、指纹信息、身份证

推荐使用WinHex软件查看硬盘或文件或内存中的原始字节内容。

展开阅读全文

经典新贴水晶报表的兼容性问题——期盼您的经典回帖

06-10

随着水晶报表的版本的发布和新功能的增加,我们的软件遇到了水晶报表升级的问题。rn前几年我们的软件用到了水晶报表工具,用来做报表部署,当时我们用的版本是9.1500这个版本,就是.net2003自带的版本,用了很长一段时间,所有的功能和不足都已经慢慢的克服了,不过最近我们要添加一些web上的报表,水晶报表9的弊端立刻显现出来了,没有办法,我们需要升级到新的版本10或者11(目前还没有最后决定,也急需各位帮忙,我们目前下载了10),最近我们用水晶报表10做了升级测试,不过效果并不令人满意,出现了一系列的版本兼容性的问题,如:1、原来做好的报表新版本的设计器预览字体不是很正常(打印完成后效果一样); 2、带有自报表的报表,出现了自报表无法找到数据源而无法显示的问题;3、有些报表出现了报表的页眉和页脚超出一页的问题。rn目前发现的问题就是这些。不过需要各位帮忙的地方有:rn1、寻求版本兼容性问题的中文和英文资料、文章,版本包括水晶报表9,10,11;rn2、如出现版本兼容性问题一般如何处理,如出现问题的部分用新版本的软件重新开发,还是有补丁等等。rn3、Crystal Enterprise、Crystal Reports、Crystal Analysis确切的中文翻译是什么?以及相关的信息;rn4、寻求中文版的水晶报表10和11的下载的网址,最好有注册码,询问各版本的注册费用。rnrn本人的联系方式:rn1、popo:liuchengit@163.comrn2、QQ:47307116rn3、MSN:lch5577@hotmail.comrn4、我的技术交流的QQ群为:7244641rn注明:以上联系方式随时可用,主要用于交流。 论坛

没有更多推荐了,返回首页