相关疑难解决方法(0)

Visual Studio"在文件中查找"不起作用

当我在整个解决方案中在文件中查找(Ctrl + Shift + F)时,Visual Studio(2010,旗舰版)找不到任何内容.但是,它在搜索" 当前文档"或" 当前项目"时发现2次.

我看到输出窗口中的"搜索的总文件数"是一个随机数,与我解决方案中的文件数不对应(要小得多).

我已经做了devenv /resetsettings但这没有帮助.

在"所有解决方案"中连续2次搜索的输出示例:

找到所有"缩放 - ",子文件夹,保持修改后的文件打开,查找结果1,"整个解决方案","*.vb"
匹配行:0匹配文件:0搜索到的文件总数:24
查找已停止进行中.

找到所有"缩放 - ",子文件夹,保持修改后的文件打开,查找结果1,"整个解决方案","*.vb"匹配行:0匹配文件:0搜索到的总文件数:32
查找已停止正在进行中.

我不知道为什么它说"查找已停止",因为我等待搜索结束(不要按任何按钮).

.net visual-studio-2010 visual-studio

34
推荐指数
6
解决办法
2万
查看次数

损坏的双链表?

我只是调试一个大项目,并得到这个错误

*** glibc detected *** p_appmanager/obj/appmanager: corrupted double-linked list: 0x08325e18 **
Run Code Online (Sandbox Code Playgroud)

我试图用valgrind调试代码,但我对这个工具并不熟悉.所以如果你能从他们那里找到任何东西,我会把这些日志倾倒在这里请告诉我.

任何人都可以解释以下错误信息可能意味着什么?

==2181== Invalid read of size 1
==2181==    at 0x402C658: strlen (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==2181==    by 0x40FCC2D: std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.16)
==2181==    by 0x4054D4B: start_thread (pthread_create.c:308)
==2181==    by 0x4269DDD: clone (clone.S:130)
==2181==  Address 0x4359234 is 12 bytes inside a block of size 21 free'd
==2181==    at 0x402ACFC: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==2181==    by 0x410899A: std::string::_Rep::_M_destroy(std::allocator<char> const&) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.16)
==2181==    by 0x4071B37: …
Run Code Online (Sandbox Code Playgroud)

c++ operating-system

21
推荐指数
1
解决办法
6万
查看次数

Unix排序命令需要更长的时间,具体取决于它的执行位置?!(从IDE运行程序中的ProcessBuilder最快,终端最慢)

我有一个java程序,它使用ProcessBuilder来调用unix sort命令.当我在我的IDE(intelliJ)中运行此代码时,只需要大约一秒钟来排序500,000行.当我将它打包到一个可执行的jar中,并从终端运行它需要大约10秒.当我自己从终端运行sort命令时,需要20秒!

为什么性能上的巨大差异以及我可以以相同的性能执行jar的任何方式?环境是OSX 10.6.8和java 1.6.0_26.排序手册页的底部显示"2004年11月5.93排序"

它正在执行的命令是:

sort -t'    ' -k5,5f -k4,4f -k1,1n /path/to/imput/file -o /path/to/output/file
Run Code Online (Sandbox Code Playgroud)

请注意,当我从终端运行sort时,我需要手动转义制表符分隔符并使用参数-t$'\t'而不是实际的选项卡(我可以传递给ProcessBuilder).

看起来ps一切看起来都一样,除非从IDE运行时,sort命令的TTY值为?而不是ttys000 - 但从这个问题我不认为这应该有所作为.也许BASH让我放慢脚步?我的想法已经不多了,想要缩短20倍的性能差距!

java unix sorting macos performance

7
推荐指数
1
解决办法
1622
查看次数

如何设计boost :: asio套接字或其包装的正确释放

我几次尝试使用boost :: asio创建自己的简单异步TCP服务器几年后没有触及它.

我能找到的最新示例列表是:http: //www.boost.org/doc/libs/1_54_0/doc/html/boost_asio/tutorial/tutdaytime3/src.html

我在这个示例列表中遇到的问题是(我觉得)它欺骗并且通过使tcp_connection成为shared_ptr来欺骗它,这样它就不用担心每个连接的生命周期管理了.(我认为)他们这样做是为了简洁,因为它是一个小教程,但这个解决方案不是现实世界.

如果您想在计时器或类似的东西上向每个客户端发送消息怎么办?在任何真实世界的非平凡服务器中都需要一组客户端连接.

我担心每个连接的生命周期管理.我认为自然要做的就是在tcp_server中保留一些tcp_connection对象或指向它们的指针.从OnConnect回调添加到该集合并从该集合中删除OnDisconnect.

请注意,OnDisconnect很可能是从实际的Disconnect方法调用的,在发生错误的情况下,该方法将从OnReceive回调或OnSend回调调用.

嗯,这就是问题所在.

考虑一下我们有一个看起来像这样的callstack:

tcp_connection::~tcp_connection
tcp_server::OnDisconnect
tcp_connection::OnDisconnect
tcp_connection::Disconnect
tcp_connection::OnReceive
Run Code Online (Sandbox Code Playgroud)

这会在调用堆栈展开时导致错误,并且我们正在一个已经调用了析构函数的对象中执行代码......我想,对吧?

我想每个做服务器编程的人都会以某种方式遇到这种情况.处理它的策略是什么?

我希望这个解释足够好.如果不让我知道,我将创建自己的源列表,但它将非常大.


编辑:相关

)异步C++代码中的内存管理

IMO不是一个可以接受的答案,依赖于在接收电话上使用shared_ptr作弊,仅此而已,并不是现实世界.如果服务器想要每5分钟对所有客户说"嗨"怎么办?某种集合是必要的.如果你在多个线程上调用io_service.run怎么办?

我也在提升邮件列表:http: //boost.2283326.n4.nabble.com/How-to-design-proper-release-of-a-boost-asio-socket-or-wrapper-thereof- td4693442.html

c++ tcp boost-asio

5
推荐指数
1
解决办法
1096
查看次数