当我运行我的程序时,一切都很顺利.最后打印出来:
*** glibc detected *** ./streamShare: double free or corruption (fasttop): 0x08292130 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6[0xcc2ff1]
/lib/tls/i686/cmov/libc.so.6[0xcc46f2]
/lib/tls/i686/cmov/libc.so.6(cfree+0x6d)[0xcc779d]
/usr/lib/libstdc++.so.6(_ZdlPv+0x21)[0x1c86f1]
./streamShare[0x804be7f]
./streamShare[0x804be3e]
./streamShare[0x804abc0]
./streamShare[0x804a5f2]
./streamShare[0x804a1c4]
./streamShare[0x804a1d7]
./streamShare[0x804a46a]
./streamShare[0x804ba45]
./streamShare[0x804b49c]
./streamShare[0x804ac68]
./streamShare[0x804ac48]
./streamShare[0x804a676]
./streamShare[0x804a237]
./streamShare[0x8049a3f]
./streamShare[0x804d2e5]
./streamShare[0x804d34d]
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe6)[0xc6eb56]
./streamShare[0x8049361]
Run Code Online (Sandbox Code Playgroud)
我检查过,它发生在一个函数返回时,程序的所有对象都会自动进行实例化.无论如何,我没有为这些对象定义任何析构函数,我尝试使用STL容器和TR1 shared_ptr.我想一切都发生在默认的析构函数中.有没有办法知道它在哪里分手?我的意思是,我想知道哪个物体破坏会造成整个混乱.我正在使用这些容器和共享指针:
typedef std::tr1::shared_ptr<messageListener> mlsptr;
typedef std::map<const char*, mlsptr, ltstr> CONSTCHP2MSLST;
Run Code Online (Sandbox Code Playgroud)
messageListener没有析构函数.其中两个向量:
std::vector<MSG> queueto1;
Run Code Online (Sandbox Code Playgroud)
其中MSG析构函数是:
MSG::~MSG() {
destroy();
}
void MSG::destroy() {
if (payload != NULL)
delete[] payload;
payload = NULL;
payloadLen = 0;
}
Run Code Online (Sandbox Code Playgroud)
从来没有出现问题,我不应该......
任何推荐如何跟踪这个问题?我很笨...
编辑:
这里是VALGRIND输出:
valgrind ./streamShare -v …
Run Code Online (Sandbox Code Playgroud) 我需要将一些数据(整数)从一个(C++)程序传递到另一个(C#).最快的方法是什么?
PS:操作系统:Windows XP
这种行为让我对自己的理智感到好奇.
我有一个表单有两个接受输入的地方,我们称之为ValueA和ValueB.用户可以在任何一个和表单提交中输入值.
<div id="MyUpdateTarget">
<% using (Ajax.BeginForm("MyControllerAction", new AjaxOptions { UpdateTargetId = "MyUpdateTarget" })) { %>
<%=Html.TextBox("ValueA", Model.ValueA, new Dictionary<string, object> {
{ "onchange", "$('#SubmitButton').click(); return false;" },
}) %>
<%=Html.TextBox("ValueB", Model.ValueB, new Dictionary<string, object> {
{ "onchange", "$('#SubmitButton').click(); return false;" },
}) %>
<input id="SubmitButton" type="submit" value="Save" style="display: none;" />
<% } %>
</div>
Run Code Online (Sandbox Code Playgroud)
Controller Action如下所示:
public ActionResult MyControllerAction(MyViewModel viewModel)
{
Run Code Online (Sandbox Code Playgroud)
//做一些其他的事......
return PartialView("MyPartialView", viewModel);
}
Run Code Online (Sandbox Code Playgroud)
ViewModel就是这样的:
public class MyViewModel
{
private int _valueA;
private int _valueB;
public int …
Run Code Online (Sandbox Code Playgroud) 我正在尝试向div添加ajax响应(它是带有表格,表单等的HTML代码).
在FF innerHTML
工作完美,但在IE中,它给了我一个未知的错误.
我尝试了很多东西,但是当我添加jQuery并.html
在div上运行方法我想要插入代码时,我才能使用它.
任何人都在关心为什么这个有用而不是简单innerHTML
?我试着查看.html()
代码,但我想我不是JS的优秀,因为我不明白它在做什么.
我知道我可以使用number_format,但有没有办法表示base32数字?例如,十六进制可以用0x表示,八进制可以用前面的0表示.在php中有什么代表base32号码吗?
假设我在网址上托管了一个网站:
假设这是由托管服务提供商"A"托管的.
现在,我想在另一台主机上托管此站点内的子目录:
...说我主持这个托管服务提供商"B".因此,本网站下的所有页面都将位于完全不同的数据中心.
这种配置是否可行?
我正在使用系统匈牙利符号的旧式COM C ++项目。因为这是对遗留代码的维护,所以约定以原始样式编写代码-我们的较新代码不是用这种方式编码的。因此,我对更改该标准或对我们过去的罪过进行讨论不感兴趣=)
是否有针对系统匈牙利符号的在线备忘单?
到目前为止,我能找到的最好的文章是堆栈溢出之前的讨论帖子,但是它并没有我过去需要的所有东西。有人还有其他链接吗?
(制作此社区Wiki,希望它能成为一个自我填充的列表)
有没有人听说过使用类型作为键并支持继承的"类型字典"?
在我的应用程序中,我想要一个从类型到函数的字典,有点像这样:
Dictionary<Type, Func<object, object>> Transformers;
Run Code Online (Sandbox Code Playgroud)
这个想法是它将用于根据类型以某种方式转换对象:
// Transform an object 'obj'
object result = Transformers[obj.GetType()](obj)
Run Code Online (Sandbox Code Playgroud)
普通字典的缺点是类型必须完全匹配.因此,如果我为IList <T>编写了一个变换器,那么将它放在Transformers字典中是没有用的,因为没有对象具有IList <T>类型(只有T [],List <T>等).换句话说,如果obj是List <T>,则普通字典中的查找将找不到IList <T>的变换器.
假设没有TypeDictionary <TValue>这样的东西,如果不是太难,我可以考虑写一个.有什么想法可以实现吗?
单元测试java servlet的最佳实践是什么?顺便说一下:这是一个我有一些困难的话题:你如何对java servlet进行单元测试?
我想写一个SparseVector[T]
类,其中T
可以是double,int或boolean.
该类不会被数组支持(因为我想要一个稀疏的数据结构),但我已经看到,当我构建一个AnyVal
类型的空数组时,元素被初始化为默认值.例如:
scala> new Array[Int](10)
res0: Array[Int] = Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
scala> new Array[Boolean](10)
res1: Array[Boolean] = Array(false, false, false, false, false, false, false, false, false, false)
scala> new Array[Double](10)
res2: Array[Double] = Array(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)
Run Code Online (Sandbox Code Playgroud)
如何在班级中包含此默认值?我想要的行为是:
val v = new SparseVector[Double](100)
println( v(12) ) // should print '0.0'
val w = new SparseVector[Boolean](100)
println( v(85) ) // should print …
Run Code Online (Sandbox Code Playgroud) ajax ×2
c# ×2
c++ ×2
.net ×1
asp.net-mvc ×1
base32 ×1
dns ×1
generics ×1
hosting ×1
http-post ×1
ipc ×1
java ×1
javascript ×1
jquery ×1
php ×1
scala ×1
servlets ×1
unit-testing ×1
web ×1
web-hosting ×1