我需要HotSpot VM处于调试模式的原因是我想要一些JVM选项,比如
-XX:+PrintCFGFile,得到支持.
我目前的JVM版本就像
java version "1.6.0_24" OpenJDK Runtime Environment (IcedTea6 1.11.1) (suse-3.1-x86_64) OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
我是否必须安装一些工具/补丁来实现这一目标?
谢谢!
我正在使用ADT for eclipse开发eclipse.
在我的应用程序中,我有一些常量可以帮助我轻松地调试我的应用程序.
作为一个例子,我有:
public static final boolean DEBUG_TOAST_LOGS = true;
它帮助我在屏幕上烘烤一些日志.
每次我打算构建一个版本时,我都必须通过我的常量并将它们的值设置为适合发布版本的版本,这在某种程度上是痛苦的.
现在我想要的是一种构建我的应用程序的方法,使用两种配置:一种用于调试模式,另一种用于发布模式.在释放模式应为我设置常量相应的值.我怎么能这样做?你的建议是什么?什么是满足我需求的最佳方式?
任何帮助,将不胜感激.
我是Odoo v10的新手.我正在使用带有URL的调试模式.但是在设置菜单上有激活开发者模式的链接.我想问一下,"激活开发者模式"和"激活开发者模式(带资产)"有什么区别?
假设我有一个主程序(test.py)和一个小实用程序(test_utils.py),该程序具有由主程序调用的辅助函数。我想通过传递通过debug_flag读取的布尔值来打开代码中的调试语句argparse。
现在,我希望test_utils.py程序中的函数也根据的值打印调试语句debug_flag。我总是可以将其debug_flag作为参数添加到每个函数定义中,test_utils.py并在调用函数时传递参数,但是这里有没有更好的方法,例如制作 debug_flag全局变量?但是,如果我声明debug_flag要从中进行全局化 test.py,将如何将其导入 test_utils.py?
这里最优雅/ Pythonic的方法是什么?
test.py:
import argparse
from test_utils import summation
def main():
args = get_args()
debug_flag = True if args[debug] == 'True' else False
print summation(5, 6, 7)
def get_args():
parser = argparse.ArgumentParser(description='Test program')
parser.add_argument('-d','--debug', help='Debug True/False', default=False)
args = vars(parser.parse_args())
return args
Run Code Online (Sandbox Code Playgroud)
test_utils.py:
from test import debug_flag
def summation(x, y, z):
if debug_flag:
print 'I am going to …Run Code Online (Sandbox Code Playgroud) 我在 html 正文中有一个图像元素,宽度为 440 px,高度为 840 px。一切都按预期工作,直到我打开 chrome 调试模式以模拟它在移动设备中的显示。
如屏幕截图所示,模拟器假设宽度为 375 px。但不知何故变成了 964 px 宽度。那里没有任何额外的 css 脚本或 js 脚本。只是一个带有一张图像的简单 html。带有图像宽度的屏幕截图
我有一个问题,我的代码在将调试与发布进行比较时会返回不同的结果.我检查了两种模式都使用/ fp:exact,所以这不应该是问题.我对此的主要问题是完整的图像分析(它是一个图像理解项目)完全是确定性的,其中绝对没有任何随机性.
另一个问题是我的发布版本实际上总是返回相同的结果(图像为23.014),而debug返回22到23之间的一些随机值,这不应该是.我已经检查过它是否与线程相关,但算法中唯一的多线程部分会为调试和发布返回完全相同的结果.
还有什么可能发生在这里?
Update1:我现在发现的代码负责此行为:
float PatternMatcher::GetSADFloatRel(float* sample, float* compared, int sampleX, int compX, int offX)
{
if (sampleX != compX)
{
return 50000.0f;
}
float result = 0;
float* pTemp1 = sample;
float* pTemp2 = compared + offX;
float w1 = 0.0f;
float w2 = 0.0f;
float w3 = 0.0f;
for(int j = 0; j < sampleX; j ++)
{
w1 += pTemp1[j] * pTemp1[j];
w2 += pTemp1[j] * pTemp2[j];
w3 += pTemp2[j] * pTemp2[j];
} …Run Code Online (Sandbox Code Playgroud) 当我尝试在两个不同的Visual Studio实例中打开两个项目并同时在调试模式下本地运行它们时(例如,Web应用程序和它使用的后端WebService)我收到错误"无法启动调试在Web服务器上.已经附加了一个调试器"
办公室里没有其他任何人能够做到这一点,除了一个人,他无法弄清楚为什么它只对他有用.我的计算机IIS中的虚拟目录似乎与他的设置方式相同(我不知道设置).
我也可以在我以前的工作中同时从VS的两个实例进行调试,所以这里的设置必须有所不同.
iis multiple-instances visual-studio visual-studio-debugging debug-mode
一直在研究这一点,并不完全确定该做什么.
我想允许用户打开或关闭调试模式.使用NSLogs上的调试模式将打印到控制台.
目前我可以使用预处理器(DEBUG)在构建设置中打开或关闭调试模式,并使用以下代码"阻止"NSLog.
#ifdef DEBUG
NSLog(@"If you can see this then debug is on");
#endif
Run Code Online (Sandbox Code Playgroud)
我在设置页面中创建了一个切换开关以获取用户的输入,但我不知道如何使用此输入然后未定义/重新定义DEBUG.有任何想法吗?
我不确定这是否可行,因此任何替代解决方案也将受到赞赏.
非常感谢 :)
我正在测试我的计算机架构上的行为Interlocked.Increment和lock行为,因为我阅读了本文中的以下几行。
正如用 Interlocked.Increment 重写的那样,该方法应该执行得更快,至少在某些架构上是这样。
使用以下代码,我确信在我的项目中检查锁是值得的。
var watch = new Stopwatch();
var locker = new object();
int counter = 0;
watch.Start();
for (int i = 0; i < 100000000; i++)
{
lock (locker)
{
counter++;
}
}
watch.Stop();
Console.WriteLine(watch.Elapsed.TotalSeconds);
watch.Reset();
counter = 0;
watch.Start();
for (int i = 0; i < 100000000; i++)
{
Interlocked.Increment(ref counter);
}
watch.Stop();
Console.WriteLine(watch.Elapsed.TotalSeconds);
Run Code Online (Sandbox Code Playgroud)
我越来越有近似值稳定的结果2.4S用于锁定和1.2秒的互锁。然而,我惊讶地发现在发布模式下运行此代码仅将 Interlocked 的值提高到大约0.7 秒,并且锁定时间保持不变。这是为什么?在释放模式下锁定不是互锁时如何优化互锁?
debug-mode ×10
release-mode ×3
android ×1
argparse ×1
c# ×1
c++ ×1
css ×1
eclipse ×1
globals ×1
html ×1
iis ×1
interlocked ×1
ios ×1
java ×1
jvm ×1
jvm-hotspot ×1
locking ×1
logging ×1
mobile ×1
objective-c ×1
odoo ×1
odoo-10 ×1
openmp ×1
python ×1
xcode6 ×1