面试问题 -
一旦你的代码出现问题,通常很容易调试程序.你可以把手表,断点等放在一边.由于调试器,生活更容易.
但是如何在没有调试器的情况下调试程序?
我知道一种可能的方法是将print语句放在代码中的任何地方,以便检查问题.
除此之外还有其他方法吗?
作为一般性问题,它不受任何特定语言的限制.请分享您对如何做到的想法?
编辑 - 在提交您的答案时,请提及有关任何概念的有用资源(如果您有的话).例如,记录
这对那些根本不了解它的人会很有用.(这包括我,在某些情况下:)更新: Michal Sznajderhas提出了一个真正的"最佳"答案,并使其成为一个社区维基.真的值得很多投票.
最近我注意到以下陈述并非如此std::string s.
s.max_size() == s.get_allocator().max_size();
Run Code Online (Sandbox Code Playgroud)
我发现这很有意思,默认情况下std::string会使用std::allocator<char>它具有理论极限size_type(-1)(是的,我知道我假设2的补码,但这与实际问题无关).我知道实际的限制将远远小于此.在典型的32位x86系统上,内核将占用2GB(可能是1GB)的地址空间,从而留下更小的实际上限.
无论如何,GNU libstdc ++ std::basic_string<>::max_size()似乎返回相同的值,无论它使用什么分配器(如类似1073741820).
所以问题仍然存在,为什么不std::basic_string<>::max_size()回归get_allocator().max_size()呢?在我看来,这是假设的上限.如果分配很短,它只会扔一个std::bad_alloc,所以为什么不尝试?
这更像是一种好奇心,我只是想知道为什么这两者至少在这一个实现中被单独定义.
通过使用Telerik Extensions for ASP.NET MVC,如何在页面加载时隐藏所有Accordion选项卡?默认情况下,它会在页面加载时展开第一个Accordion选项卡!非常感谢!
我有一个通过cron作业调用的PHP脚本,结果发送到我的电子邮件地址:
"php /path/to/cron.php"
Run Code Online (Sandbox Code Playgroud)
我只回应错误,否则我没有输出任何内容.这样我就可以在出现问题时收到错误报告.问题是,我收到一封有cron执行的电子邮件,其中只有HTTP标头:
X-Powered-By: PHP/5.2.10
Content-type: text/html
Run Code Online (Sandbox Code Playgroud)
这显然是一种痛苦,每隔几分钟就会收到多封电子邮件.所有我想看到的是cron工作的电子邮件,我回应了一些东西.
我希望尽可能保留cron作业生成的电子邮件(而不是在脚本中发送电子邮件).而且我不想通过wget运行它,因为我的主机会根据我的带宽计算它.
我所有的搜索只显示了如何设置标题,而不是删除/禁止默认标题.我错了吗?有没有人见过这个?
谢谢
我想了解基于令牌的身份验证的含义.我搜索了互联网,但找不到任何可以理解的东西.
在Linux上,如果内存不足,malloc不一定返回空指针.你可能会找回一个指针然后让OOM杀手开始吃进程,如果你真的没有记忆.c ++的operator new也是如此,你会得到bad_alloc异常吗?
有没有简化测试创建的软件?测试的大多数内容都非常重复,所以我认为有人可能已将其自动化了.
我已经创建了一个简单的Android游戏,基于Lunar Lander示例,我遇到了处理关键事件的问题.当活动开始时,onKeyDown或onKeyUp被调用的唯一键是dpad上/下/左/右键.菜单,后退或dpad_center键都不会触发onKey方法.但是,一旦我按下其中一个dpad上/下/左/右按钮,按下菜单,后退或dpad_center键就会触发这些方法.我没有收到任何错误或任何错误的迹象.
焦点可能设置错误 - 活动从屏幕上的按钮开始,因此可能处于触摸屏模式.如果是这种情况,不应该触摸后退按钮让我进入正确的对焦模式,以便我可以抓住事件?
我正在使用SDK-1.5r3中的模拟器.我还没能在真正的手机上试试这个.这是我的onKeyDown.
public boolean onKeyDown(int keyCode, KeyEvent msg)
{
Log.d(TAG, "onKeyDown: " + keyCode);
return super.onKeyDown(keyCode, msg);
}
Run Code Online (Sandbox Code Playgroud)
谢谢
马特
您如何知道变量是否已在运行时在代码中的特定位置设置?这并不总是显而易见的,因为(1)变量可以有条件地设置,(2)变量可以有条件地删除.我正在寻找像defined()Perl isset(),PHP或defined?Ruby中的东西.
if condition:
a = 42
# is "a" defined here?
if other_condition:
del a
# is "a" defined here?
Run Code Online (Sandbox Code Playgroud)