⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_47696.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:47696 发表者:tidy 发表日期:2003-07-23 11:52:38
<br>主题:简单问题帮我看一下就好~~~~
<br>内容:为什么我设置了断点,程序运行时不理它,代码如下:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DWORD dwOffBits=sizeof(TGAHEADER)+tgaHeader.bEX_Length+wPalLen;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;DWORD get=dwSize-dwOffBits;<BR>&nbsp;&nbsp;&nbsp;&nbsp;if (get&gt;0)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AfxMessageBox("&gt;0");<BR>&nbsp;&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AfxMessageBox("&lt;0");<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(get&gt;dwSize)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AfxMessageBox("世界末日到了");<BR>&nbsp;&nbsp;&nbsp;&nbsp;pImage = (PBYTE)::GlobalAlloc(GPTR, dwSize);//-dwOffBits);<BR>&nbsp;&nbsp;&nbsp;&nbsp;if (!pImage)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AfxMessageBox("内存不足");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return NULL;&nbsp;&nbsp;&nbsp;&nbsp;// 内存不足<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;AfxMessageBox("内存足le");<BR><BR>怎么也想不明白:运行结果get肯定大于0,而且总是大于dwSize,真邪门,dwOffBits也是大于0的啊,分配内存的时候,dwsize时能成功,而为dwsize-dwoffbits时总是不成功,大家说是怎么一回事情啊。我特意删了debug和release,结果还是那样! 
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:sdf 回复日期:2003-07-23 12:20:16
<br>内容:你应该判断dwOffBits内存分配是否成功,这是内存管理方面的最基本的问题,你的断点设置在什么地方?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:tidy 回复日期:2003-07-23 12:24:32
<br>内容:&nbsp;&nbsp;&nbsp;&nbsp;设置了好几个:DWORD dwOffBits=....这一行,还有if(get&gt;dwSize)这个地方。还有,我在if(get&gt;dwsize)后面改为{AfxMessageBox("世界末日到了");]<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TRACE("get= %d \n&nbsp;&nbsp;&nbsp;&nbsp;dwSize=%d\n&nbsp;&nbsp;dwOffbits=%d",get,dwSize,dwOffBits);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>结果世界末日输出了,后面的trace没反应 ,这是为什么,怎么感觉断点,调试失效了?<BR>&nbsp;&nbsp;&nbsp;&nbsp;
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:Fang 回复日期:2003-07-23 12:58:38
<br>内容:typedef unsigned long&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DWORD;<BR><BR>明白了吗?<BR><BR>注意 unsigned !
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:tidy 回复日期:2003-07-23 14:26:34
<br>内容:&nbsp;&nbsp;&nbsp;&nbsp;无符号长整型嘛,嗯,知道。我现在改为%uld,是这样吗?现在的问题是我设置的断点,trace好像不起作用,是不是我的什么设置有问题啊?<BR>&nbsp;&nbsp;&nbsp;&nbsp;回复sdf:dwOffBits是一个变量,给他赋值而已,sizeof(TGAHEADER)+tgaHeader.bEX_Length+wPalLen这三个前面都用过,都没问题。<BR>&nbsp;&nbsp;&nbsp;&nbsp; 我现在最需要的就是怎么让断点起作用啊,这样我可以看到变量的值了。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:Fang 回复日期:2003-07-23 15:27:29
<br>内容:还是不明白:<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;DWORD get=dwSize-dwOffBits;<BR>&nbsp;&nbsp;&nbsp;&nbsp;if (get&gt;0)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AfxMessageBox("&gt;0");<BR>&nbsp;&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AfxMessageBox("&lt;0");<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(get&gt;dwSize)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AfxMessageBox("世界末日到了");<BR><BR><BR>运行结果get肯定大于0,而且总是大于dwSize<BR>说明dwSize &lt; dwOffBits, 所以get为负?(因为unsigned! 所以get为很大很大的整数,所以内存分配不成功)<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:tidy 回复日期:2003-07-23 16:31:42
<br>内容:&nbsp;&nbsp; 我明白了,谢谢fang,确实dwoffbits太大了,主要是一个if语句,结果它的else语句没给dwoffbits赋值,搞得它贼大。<BR>&nbsp;&nbsp; 那个断点我也解决了,原来是因为调试dll时得去工程设置里的debug设置,哎,菜鸟学vc真难啊,一个小问题也搞得我半死。<BR>&nbsp;&nbsp; 谢谢你们!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:tidy 回复日期:2003-07-23 16:33:10
<br>内容:&nbsp;&nbsp;差点忘了给分。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -