如何BigDecimal在Variables部分的Eclipse中调试时提供值?
例如:
BigDecimal bd = new BigDecimal(21);
if(bd.equals(new BigDecimal(20))) {
..
}
Run Code Online (Sandbox Code Playgroud)
我已经在if语句上设置了断点,现在我想将bd值更改为20,以便我的if块在调试时执行.我尝试了很多方法,但是我收到了一个错误.
我试过new BigDecimal(21)但是我收到了一个错误.
我正在研究一个项目并尝试修复系统中发现的错误.我有权访问的代码没有构建(这是一个包含大量dll文件的巨大项目,其中一些在我的工作区中丢失).我可以访问我正在尝试调试的部分代码,但无法构建它.所以我启动了编译后的.exe文件,并在VS中附加到它.当我在代码中设置一个断点时,它已被禁用并说" No symbols have been loaded for this document.所以我的问题是,调试器正在寻找哪些额外的信息/文件?我假设它正在寻找pdb特定组件的文件,这在我的机器上不存在.任何帮助表示赞赏.
编辑:
当我尝试附加到exe文件时,我收到此警告:

我已经看过几篇关于在C#中使用Debug.Assert的帖子.但我仍然有一个疑问,可能是它的重复,但我需要问.
有一个严格的规则,Debug.Assert应该只用于检查类的成员或用于检查公共方法的参数?
或者我可以在任何地方使用Debug.Assert,并检查任何条件?
谢谢桑迪普
在Xcode中,如果我有一个具有硬编码限制的for循环(即只能达到100),是否可以跳转到循环的特定迭代?例如,假设我有以下循环:
for(int i = 0; i < 100; ++i) {
[someObject doSomething];
}
Run Code Online (Sandbox Code Playgroud)
如果我在for循环声明行之前放置一个断点,我能以某种方式进入循环的第42次迭代吗?
当我启动调试会话时,程序执行会在看似断点的行(黄色背景色)处停止.我必须按F5继续,程序正常进行.
我将其称为幻像断点,因为似乎没有设置断点,即使执行在循环内停止,我只需要按F5一次即可继续.
我尝试在幻像位置设置断点,并删除所有断点,但无济于事.
我能找到的唯一其他类似问题是Java和MS-Access,其中解决方案是对应用程序进行反编译.
虽然这在开发过程中非常烦人,但我还是咬紧牙关,直到应用程序安装在Citrix服务器上,其中显示一个错误消息框,说明遇到了断点.
作为事后的想法,我刚刚重建了安装程序,在运行应用程序后,发出了一个严重错误.在调试模式下,消息是"myapp.exe已触发断点:".我无法解释为什么它在Citrix服务器上完全有效.
我肯定会感谢有关如何解决此问题的任何建议.
TIA
我们如何动态停止在代码中的某个位置,比如我需要在条件为真时中断代码?说一些变量得到一定的价值?
我想做的事情如下:
error_log('this is information about the variable: '.print_r($variable));
Run Code Online (Sandbox Code Playgroud)
要么
error_log('this is information about the variable: '.var_dump($variable));
Run Code Online (Sandbox Code Playgroud)
仅供参考,我正在尝试打印的变量是一个数组.
基本上我想要做的是在我的程序中,我希望能够在Visual Express IDE中启用调试时启用详细调试.我将使用Define语句,但如何检查IDE中是否启用了调试
我需要在调试我的Delphi应用程序时获取许多数据库字段的外键值,以便在调试存储过程行为时使用它们.字段是如此之多,所以我想知道是否有更快的方法来获取这些值,如将所有这些值填充到监视窗口而不是为我需要观察的每个字段编写表达式.
换句话说,我需要查看几个表的所有字段值.我不需要所有这些,但我可以从这样的列表中轻松选择我需要的东西.
目前我正在编写这样的手表表达式:
<data module>.<Table Component>.fieldbyname('Field_Name').asinteger
Run Code Online (Sandbox Code Playgroud) 我正在使用SQL存储过程和动态SQL。当我尝试调试时,一切正常,直到打印出@columnName为止。
这是引起麻烦的代码部分:
DECLARE @query NVARCHAR(2000)
DECLARE @columnName NVARCHAR(250)
SELECT @query = 'SELECT myTable.value FROM myTable WHERE myConditions'
EXECUTE sp_executesql @query, N'@columnName NVARCHAR(30) OUTPUT', @columnName OUTPUT
PRINT N'query='+@query
set @query = ''
PRINT N'query after reset='+@query
PRINT N'columnName='+@columnName
PRINT N'any other message'
Select @query = 'SELECT myValues AS '''+@columnName+''',
FROM myTable2
WHERE myConditions';
EXEC(@query);
Run Code Online (Sandbox Code Playgroud)
这是输出消息:
query=SELECT myTable.value FROM myTable WHERE myConditions
query after reset=
any other message
Run Code Online (Sandbox Code Playgroud)
那么,我的columnName=输出在哪里?
编辑
SQL版本: Microsoft SQL Server 2012-11.0.2100.60(X64)2012年2月10日19:39:15版权所有(c)Windows NT 6.1(Build 7601:Service Pack 1)(Hypervisor)上的Microsoft …
debugging ×10
c# ×3
asp.net ×1
assertion ×1
bigdecimal ×1
conditional ×1
delphi ×1
dynamic ×1
dynamic-sql ×1
eclipse ×1
iteration ×1
java ×1
loops ×1
objective-c ×1
php ×1
sql ×1
vb.net ×1
winforms ×1
xcode ×1