问题标签 [overflow]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 将图像写入目录失败
当我的 C++ 程序尝试将一些 .png 图像写入目录时,会发生一些溢出运行时错误。
写入图像的目录作为命令行参数给出。该程序使用 gcc -ggdb3 -O3 编译。奇怪的是,如果我在重新运行时将目录更改为另一个目录,或者如果我在没有优化的情况下编译我的程序,错误就会消失。我很困惑。即使我可以获得由非优化可执行文件或其他目录生成的图像,我怀疑结果是否可靠,因为优化的可执行文件可能存在运行时错误?或者优化是否有可能产生容易出错的可执行文件?谁能解释一下?
我试图调试优化的可执行文件,因为它是用 gcc -ggdb3 -O3 编译的,但是它产生溢出错误的地方没有给出源代码,我无法从中获得一些线索:
(gdb) BT
#0 0x00007fbd29573fb5 in raise () from /lib/libc.so.6
#1 0x00007fbd29575bc3 in abort () from /lib/libc.so.6
#2 0x00007fbd295b3228 在?? () 来自 /lib/libc.so.6
#3 0x00007fbd296402c7 in __fortify_fail () from /lib/libc.so.6
#4 0x00007fbd2963e170 in __chk_fail () from /lib/libc.so.6
#5 0x00007fbd2963d519 在?? () 来自 /lib/libc.so.6
#6 0x00007fbd295b7426 in _IO_default_xsputn () from /lib/libc.so.6
#7 0x00007fbd29586fdb in vfprintf () from /lib/libc.so.6
#8 0x00007fbd2963d5b9 in __vsprintf_chk () from /lib/libc.so.6
#9 0x00007fbd2963d500 in __sprintf_chk () from /lib/libc.so.6
#10 0x0000000000408695 在 main ()
(gdb) f 10
#10 0x0000000000408695 在 main ()
当前语言:自动;目前asm
(gdb) 列表
1 /build/buildd/glibc-2.9/build-tree/amd64-libc/csu/crtn.S:没有这样的文件或目录。
在 /build/buildd/glibc-2.9/build-tree/amd64-libc/csu/crtn.S
(gdb)
我不确定运行时错误的输出是否有助于分析问题。如果可以的话,这是错误消息的样子,虽然有点长:
* 检测到缓冲区溢出 * : /cis/home/tim/research/absurdity/absurditylinux/binio21/release/absurdity 终止
[新线程 0x7fbd2acd9740 (LWP 2347)]
======= 回溯:=========
/lib/libc.so.6(__fortify_fail+0x37)[0x7fbd296402c7]
/lib/libc.so.6[0x7fbd2963e170]
/lib/libc.so.6[0x7fbd2963d519]
/lib/libc.so.6(_IO_default_xsputn+0x96)[0x7fbd295b7426]
/lib/libc.so.6(_IO_vfprintf+0x63b)[0x7fbd29586fdb]
/lib/libc.so.6(__vsprintf_chk+0x99)[0x7fbd2963d5b9]
/lib/libc.so.6(__sprintf_chk+0x80)[0x7fbd2963d500]
/cis/home/tim/research/absurdity/absurditylinux/binio21/release/absurdity[0x408695]
/lib/libc.so.6(__libc_start_main+0xe6)[0x7fbd2955f5a6]
/cis/home/tim/research/absurdity/absurditylinux/binio21/release/absurdity[0x4045d9]
======= 内存映射:========
00400000-00471000 r-xp 00000000 00:39 52084894 /cis/home/tim/research/absurdity/absurditylinux/binio21/release/absurdity
00671000-00672000 r--p 00071000 00:39 52084894 /cis/home/tim/research/absurdity/absurditylinux/binio21/release/absurdity
00672000-00673000 rw-p 00072000 00:39 52084894 /cis/home/tim/research/absurdity/absurditylinux/binio21/release/absurdity
00673000-00675000 rw-p 00673000 00:00 0
00943000-00964000 rw-p 00943000 00:00 0 [堆]
7fbd273f7000-7fbd29339000 rw-p 7fbd273f7000 00:00 0
7fbd29339000-7fbd29340000 r-xp 00000000 08:01 35791448 /lib/librt-2.9.so
7fbd29340000-7fbd2953f000 ---p 00007000 08:01 35791448 /lib/librt-2.9.so
7fbd2953f000-7fbd29540000 r--p 00006000 08:01 35791448 /lib/librt-2.9.so
7fbd29540000-7fbd29541000 rw-p 00007000 08:01 35791448 /lib/librt-2.9.so
7fbd29541000-7fbd296a9000 r-xp 00000000 08:01 35791428 /lib/libc-2.9.so
7fbd296a9000-7fbd298a9000 ---p 00168000 08:01 35791428 /lib/libc-2.9.so
7fbd298a9000-7fbd298ad000 r--p 00168000 08:01 35791428 /lib/libc-2.9.so
7fbd298ad000-7fbd298ae000 rw-p 0016c000 08:01 35791428 /lib/libc-2.9.so
7fbd298ae000-7fbd298b3000 rw-p 7fbd298ae000 00:00 0
7fbd298b3000-7fbd298c9000 r-xp 00000000 08:01 35790870 /lib/libgcc_s.so.1
7fbd298c9000-7fbd29ac9000 ---p 00016000 08:01 35790870 /lib/libgcc_s.so.1
7fbd29ac9000-7fbd29aca000 r--p 00016000 08:01 35790870 /lib/libgcc_s.so.1
7fbd29aca000-7fbd29acb000 rw-p 00017000 08:01 35790870 /lib/libgcc_s.so.1
7fbd29acb000-7fbd29ad3000 r-xp 00000000 08:01 71705955 /usr/lib/libgomp.so.1.0.0
7fbd29ad3000-7fbd29cd2000 ---p 00008000 08:01 71705955 /usr/lib/libgomp.so.1.0.0
7fbd29cd2000-7fbd29cd3000 r--p 00007000 08:01 71705955 /usr/lib/libgomp.so.1.0.0
7fbd29cd3000-7fbd29cd4000 rw-p 00008000 08:01 71705955 /usr/lib/libgomp.so.1.0.0
7fbd29cd4000-7fbd29d58000 r-xp 00000000 08:01 35791436 /lib/libm-2.9.so
7fbd29d58000-7fbd29f57000 ---p 00084000 08:01 35791436 /lib/libm-2.9.so
7fbd29f57000-7fbd29f58000 r--p 00083000 08:01 35791436 /lib/libm-2.9.so
7fbd29f58000-7fbd29f59000 rw-p 00084000 08:01 35791436 /lib/libm-2.9.so
7fbd29f59000-7fbd2a04a000 r-xp 00000000 08:01 71704918 /usr/lib/libstdc++.so.6.0.10
7fbd2a04a000-7fbd2a24a000 ---p 000f1000 08:01 71704918 /usr/lib/libstdc++.so.6.0.10
7fbd2a24a000-7fbd2a251000 r--p 000f1000 08:01 71704918 /usr/lib/libstdc++.so.6.0.10
7fbd2a251000-7fbd2a253000 rw-p 000f8000 08:01 71704918 /usr/lib/libstdc++.so.6.0.10
7fbd2a253000-7fbd2a266000 rw-p 7fbd2a253000 00:00 0
7fbd2a266000-7fbd2a27d000 r-xp 00000000 08:01 35791446 /lib/libpthread-2.9.so
7fbd2a27d000-7fbd2a47c000 ---p 00017000 08:01 35791446 /lib/libpthread-2.9.so
7fbd2a47c000-7fbd2a47d000 r--p 00016000 08:01 35791446 /lib/libpthread-2.9.so
7fbd2a47d000-7fbd2a47e000 rw-p 00017000 08:01 35791446 /lib/libpthread-2.9.so
7fbd2a47e000-7fbd2a482000 rw-p 7fbd2a47e000 00:00 0
7f
程序收到信号 SIGABRT,已中止。
[切换到线程 0x7fbd2acd9740 (LWP 2347)]
0x00007fbd29573fb5 in raise () from /lib/libc.so.6
非常感谢您的帮助!
谢谢并恭祝安康!
@@UPDATE@@:你们是对的!我为长文件名增加了 char 数组的大小,现在可以了!
可执行文件是 /cis/home/tim/research/absurdity/absurditylinux/binio21/release/absurdity。不起作用的目录被指定为命令行参数--result-path=../results1/FrancContinuity1/noise0/train-imgs,它存储在下面的global.result_path中。
你们能告诉我你如何怀疑这是你提到的问题吗?__sprintf_chk () 和 __vsprintf_chk () 是否总是被 sprintf() 调用?
这是代码。
第1部分:
第2部分:
javascript - 是否有一种可编程的方法来确定一个是溢出的
假设容器 div 是可调整大小的,而在调整大小时我怎么知道它是否已经溢出(内部内容宽度 < 容器宽度或内部内容高度 < 容器高度)?
css - css - 显示带有水平滚动条的图像
我正在尝试在固定宽度的 div 内水平显示许多图像。我想使用水平滚动条来显示不适合 div 的图像。
但是,图像是垂直显示的,而不是水平显示的。有没有办法强制它们并排显示?
jquery - 如何防止 SlideToggle 函数队列?
案例:Jquery 代码管理一个滑动的 EM 标签(带有 slideToggle 功能),以便它出现在悬停时。
问题:slideToggle 有时会排队悬停状态。我参考了这篇文章: http: //www.learningjquery.com/2009/01/quick-tip-prevent-animation-queue-buildup
我尝试插入 stop() 函数,但这不影响 slideToggle(); 但它对动画功能很有用的方法。
这是我工作的代码:
jQuery代码:
HTML 代码:
html - Opera 将页面滚动到不可见元素
我正在使用 Javascript 开发一个简单的游戏引擎(我知道,这很疯狂。) Opera 的屏幕截图:http://img406.imageshack.us/img406/5818/gamek.jpg 虽然它看起来像一个 tile 引擎,但它实际上是基于对象的;灰色块的每一行或每一列都是一个单独的 <div>,相对于查看区域(带有红色边框的框)定位。查看区域有溢出:隐藏,因此对象不会显示在它之外。
然而,Opera 仍在将这些对象的全高添加到总页面高度中,即使其中大部分已被剪裁。这很奇怪,因为没有显示滚动条,并且 <html> 元素周围的蓝色轮廓不会向下移动(如果我把它放在 <body> 元素上也不会)。但是当我按下向下箭头时,页面会向下滚动,直到这些对象的底部出现在屏幕上,即使它们被剪裁了。我可以说是这样,因为移除这些对象可以解决问题,并且当我在游戏中向南移动时,页面会向上滚动,因为对象会向上移动,从而降低页面高度。
我正在使用 Opera 10,但在 9 中遇到了同样的问题。Firefox 处理得很好。我将如何解决或解决这个问题?我能想到的任何 CSS 技巧都没有做到这一点,而且每帧都调用 scroll(0,0) 更糟——页面跳到“底部”,然后又回到顶部。
c - C:“(long long int)=(long long int)*(double)”的错误输出?
这给出了结果:-2147483648
我不知道为什么(这应该是一个积极的结果)。有人可以帮忙吗?
asp-classic - ASP Classic 中的溢出
我想知道是否有人可以帮助我,因为我对我认为是简单错误的简单原因视而不见。
我有这个代码:
我收到这个错误
由上述代码中的这一行引起:
有任何想法吗?正如我所说,我已经在这个下午失明了
c++ - 如何检测 C++ 中的溢出?
我只是想知道是否有一些方便的方法来检测在运行期间 C++ 程序中使用的任何默认数据类型的任何变量是否发生溢出?方便,我的意思是不需要编写代码来跟踪每个变量,如果它在其数据类型的范围内,每次它的值发生变化。或者如果不可能实现这一点,你会怎么做?
例如,
在使用“gcc -W -Wall”编译或运行时不会给出任何错误或警告。
谢谢并恭祝安康!
heap-memory - 为什么我的 HeapOverflow 程序大小为 5MB?
所以我问自己如果我尝试在 Windows XP 上进行堆溢出会发生什么,我很惊讶地看到,一旦程序“吃掉”了所有的 RAM(顺便说一句,这会立即发生),任务管理器中的进程下降到 5MB,之后不再移动。然而,计算机内存使用量仍在增长。
那么为什么 Windows 看不到我的软件占用了 GB 的内存呢?我觉得这可能是一个安全问题,因为一旦软件吃掉了所有内存,它就可以“隐藏”在小进程组中(也许我有点偏执)。
注意:当堆满时没有任何反应,cpu 只是跳到 100%,因为一旦 malloc 失败,我的 for(;;) 循环就会疯狂地运行。
编辑:好的!从来不知道您可以调整任务管理器列。我今天学到了一些东西:D。
html - 处理表中的溢出
如果我有一个像这样非常简单的例子的表:
并且在我的.td2
其中一个包含一个图像,可以说,300px
在width
. 我想显示滚动条以允许用户滚动查看所有内容。但是我不认为这是可能的,是吗?
所以我的问题是:
hidden
除了处理表中的溢出之外,还有其他选择吗?是否可以仅在内容超出设定宽度时显示滚动条?(我发誓我在一些论坛软件中看到过,但我不记得是哪一个了)