我设置了一个项目并运行它,并在Process Explorer中查看它,结果发现它使用的内存比我想象的多5倍,只是为了启动它.现在,如果我的程序进展太慢,我将它连接到一个分析器并让它告诉我使用了我的所有循环.是否有任何类似的工具我可以连接它并让它告诉我什么是使用我的所有内存?
我遇到了一个非常好的库来解析CUE文件.但是当我开始阅读它的源代码时,我意识到它几乎是不可读的:
public void setParent(final CueSheet parent) {
FileData.logger.entering(FileData.class.getCanonicalName(), "setParent(CueSheet)", parent);
this.parent = parent;
FileData.logger.exiting(FileData.class.getCanonicalName(), "setParent(CueSheet)");
}
Run Code Online (Sandbox Code Playgroud)
每个方法都有logger.entering()和logger.exiting()消息.那不是太多了吗?
还有另一个用于解析音频标签的java库.对于它读取的每个文件,它也有15条日志消息.这很烦人,所以我注释掉了对logger的每一次调用.并且库的速度提高了两倍,因为它们使用了很多字符串连接来记录日志消息.
所以问题是:我是否应该记录所有内容,即使它不是大型企业应用程序?因为这些库显然不需要任何日志记录,除了错误消息.我的经验表明,记录器是调试的糟糕工具.我为什么要用它?
我想在python中创建一个对象,它是一个大约200,000,000个真/假值的集合.因此,我可以最有效地更改或回忆任何给定的真/假值,以便我可以快速确定是否有任何给定的数字,如123,456,000是真还是假或更改其值.
列表是最好的方法吗?还是阵列?还是上课?或者只是使用位操作的长整数?或者是其他东西?
我有点像菜鸟,所以你可能不得不为我拼出的东西比我用其他一种我更了解的语言提问.请举例说明如何操作此对象.
谢谢
我已经阅读了文档(http://dev.mysql.com/doc/refman/5.1/en/partitioning.html),但我想用你自己的话说,它是什么以及为什么使用它.
我编写了一个WPF应用程序,它使用许多Frame控件来查看摄像头源.部署后,它会随机崩溃(从2小时到16小时不等),我会在事件日志中连续看到这些:
System.AccessViolationException:尝试读取或写入受保护的内存.这通常表明其他内存已损坏.在MS.Win32.UnsafeNativeMethods.DispatchMessage在System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame帧)在System.Windows.Threading.Dispatcher.Run(MSG&MSG)在System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame帧) ()在System.Windows.Application.RunDispatcher(对象忽略)在System.Windows.Application.RunInternal(窗口窗口)在System.Windows.Application.Run(窗口窗口)在System.Windows.Application.Run()在Status_Station_client .MainClass.Main()
故障应用程序状态站client.exe,版本1.0.0.0,邮票4ad0faa5,错误模块msvfw32.dll,版本5.1.2600.2180,邮票41109753,调试?0,故障地址0x00002642.
有关如何追踪此问题的任何想法?网页确实包含ActiveX控件,所以首先猜测那里存在问题.
我无法在调试模式下跟踪此信息.我想到的另一件事就是吞下导航调用中的异常,但我不确定这是否是明智之举:
try
{
if (Frame1 != null)
Frame1.Source = new Uri(uriWithResolution);
}
catch (AccessViolationException ex)
{
// log message
}
Run Code Online (Sandbox Code Playgroud)
编辑:这里有一些更多的源代码,我对错误的位置(即抛出异常的地方)感到困惑
MatrixView.cs:
public partial class MatrixView : Window
{
System.Timers.Timer timer;
int pageNumber = 0;
IEnumerable<List<CameraInfo>> _cameraList;
GlobalSettings _globalSettings;
Screen _screen;
public MatrixView(List<CameraInfo> cameras, int pageFlipInterval, int camerasPerPage, GlobalSettings globalSettings, Screen screen)
{
InitializeComponent();
_globalSettings = globalSettings;
_screen = screen;
_cameraList = Partition<CameraInfo>(cameras, camerasPerPage);
this.Dispatcher.UnhandledException += new DispatcherUnhandledExceptionEventHandler(Dispatcher_UnhandledException);
displayCameras();
timer = new System.Timers.Timer(pageFlipInterval * …Run Code Online (Sandbox Code Playgroud) 我想开始编写ARM汇编程序并在iPhone上运行它.
这不是为了在应用程序中使用发布到应用程序商店 - 基本上我想使用ARM和iPhone 解决ProjectEuler上的问题,仅用于业余爱好和教育目的.
我该怎么做呢?我无法想出一个方法让一个项目使用任何手写的手臂运行.
我试图在SQL CE上擦除并重新填充测试数据.由于存在FK约束,我收到错误.通常在Sql2005中我会
ALTER TABLE [tablename] CHECK/NOCHECK CONSTRAINT ALLRun Code Online (Sandbox Code Playgroud)启用/禁用所有约束.从我在搜索中找到的内容来看,CE似乎可能不支持.真的吗?如果是这样,还有其他选择吗? 我遇到了一些JavaScript代码的问题.
脚本
setTimeout(function() {
for (var i = 0; i < 5; i++) {
setTimeout(function() {
console.log(i);
}, i * 200);
}
}, 200);
Run Code Online (Sandbox Code Playgroud)
输出
5,5,5,5,5代替1,2,3,4,5
我可以理解为什么这不起作用,但我想知道是否有人可以向我解释发生了什么以及为什么它不起作用!
此外,如何克服这个范围问题?
我想在我创建的substr字符串类中用C++ 创建一个方法.
字符串类当然是基于C风格的字符串,我负责内存管理.
我想编写一个substr(start, length)可以常规方式工作的函数:
CustomString mystring = "Hello";
cout << mystring.substr(0,2); // will print "He"
Run Code Online (Sandbox Code Playgroud)
并且也是这样:
mystring.substr(1,3) = "DD"; // mystring will be "HDDo"
Run Code Online (Sandbox Code Playgroud)
请注意,即使我得到一个3个字符长的子字符串,我只将2个字符放入赋值,输出字符串仍然是HDDo.
知道怎么做到这一点?
谢谢!
我正在使用Rollup子句,以及它如何显示各种级别的聚合WITH NULL值,显示不同级别,rollups例如rollup(year,month,week)将在每个级别显示小计.
我希望它卷起来但又希望看到最高级别的聚合.所以我不想看到任何null价值观.
知道我该怎么办?
问候Manjot