假设我的类有一个名为count的私有整数变量.
我已经在我的代码中遇到了断点.现在,在我按下继续之前,我想让它调试器将在任何时候停止计数获得分配给它的新值.
除了将count计数到字段并在字段的set方法上设置断点之外,还有其他方法可以做到这一点吗?
我最近发现你可以在Xcode中设置断点,它将打印到控制台并自动继续 - 这意味着你可以插入日志语句而不必编写NSLog()调用并重新编译(动态日志记录,woot).
唯一的问题是它在执行日志时可以显示的内容似乎有点受限.它显示了一些你可以插入的标记,比如%B打印出一些关于当前断点的信息或%H的命中计数.
我想知道是否有任何方法可以将特定格式的时间戳插入日志行?
我尝试使用"shell脚本"断点操作,但它告诉我date命令不存在....奇怪...
任何帮助都会很棒,谢谢你们!
在Eclipse中调试我的项目时,它(可重复地,在代码中的同一点)暂停执行,就像它到达断点一样.没有抛出异常,项目没有断点,如果我点击简历,它会继续没有问题.
什么可能导致这种行为?
我有一个返回块的方法.我想在块内添加一个断点.在Xcode中,在块内部的行上添加断点会导致执行在返回方法时暂停,而不是在块执行时暂停.如何在块中添加断点?
我想设置断点所有Convert.ToInt32行.
我试图替换所有Convert.ToInt32,System.Diagnostics.Debugger.Break(); Convert.ToInt32但它没有工作,因为一些Convert.ToInt32方法是参数.所以我写了一个正则表达式替换,插入 System.Diagnostics.Debugger.Break();所有Convert.ToInt32行的开头.它似乎有效,但是有没有简单的方法呢?
ps:我不认为"Debug - > New Breakpoint - > Break at Function"不适用于System方法.
更新: 我写了一个小代码
class Program
{
private static void Main(string[] args)
{
int test = System.Convert.ToInt32("x");
System.Console.Write(test);
}
}
Run Code Online (Sandbox Code Playgroud)
我更改了"工具 - >选项 - >调试"设置
但它仍然无法正常工作 ING
我按照此视频中的说明逐行运行代码:
http://www.youtube.com/watch?v=6CGH9Z19dS8
然而,在我按下F8之后,它只是在没有进入断点的情况下运行(我看不到黄色三角形).另外,我也试过"附加到过程",它是一样的.
我错过了什么吗?(顺便说一句,我的项目中有多个文件,但我想这不会是问题,对吧?因为我可以在VS工作室轻松完成这个.也许,我对代码块并不熟悉)
感谢帮助!
如果您感兴趣,这是调试器日志:
Building to ensure sources are up-to-date
Selecting target:
Release
Adding source dir: C:\Users\liuca_000\Documents\Lattice_Boltzmann_code\lattice_boltzmann\
Adding source dir: C:\Users\liuca_000\Documents\Lattice_Boltzmann_code\lattice_boltzmann\
Adding file: C:\Users\liuca_000\Documents\Lattice_Boltzmann_code\lattice_boltzmann\bin\Release\lattice_boltzmann.exe
Changing directory to: C:/Users/liuca_000/Documents/Lattice_Boltzmann_code/lattice_boltzmann/.
Set variable: PATH=.;C:\Program Files (x86)\CodeBlocks\MinGW\bin;C:\Program Files (x86)\CodeBlocks\MinGW;C:\Python27\Lib\site-packages\PyQt4;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Windows\System32;C:\Windows;C:\Windows\System32\wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Python27;C:\Python27\DLLs;C:\Python27\Scripts;C:\Python27\Lib\site-packages\vtk;C:\Python27\gnuplot\binary;C:\Python27\Lib\site-packages\osgeo;C:\Program Files (x86)\pythonxy\SciTE-3.3.2-3;C:\Program Files (x86)\pythonxy\console;C:\MinGW32-xy\bin;C:\Program Files (x86)\pythonxy\swig;C:\Program Files (x86)\pythonxy\gettext\bin;C:\Program Files\MATLAB\R2012b\runtime\win64;C:\Program Files\MATLAB\R2012b\bin;C:\Program Files\TortoiseSVN\bin;C:\Program Files\MiKTeX 2.9\miktex\bin\x64;C:\Program Files (x86)\Windows Live\Shared;C:\Users\liuca_000\AppData\Roaming\MiKTeX\2.9\miktex\bin\x64;.;\
Starting debugger: C:\Program Files (x86)\CodeBlocks\MINGW\bin\gdb.exe -nx -fullname -quiet -args C:/Users/liuca_000/Documents/Lattice_Boltzmann_code/lattice_boltzmann/bin/Release/lattice_boltzmann.exe
done
Registered new type: wxString
Registered new type: STL String
Registered new type: STL …Run Code Online (Sandbox Code Playgroud) 主题行基本上都说明了一切.
如果我根据文件和行号给出位置,则在编辑文件时该值可能会更改.事实上,如果我在重构期间编辑多个函数,它往往会经常变化并且不方便.但是,如果相对于函数的开头是(line-),它就不太可能改变.
如果不能从函数的开头给出行偏移量,那么是否可以使用便利变量来模拟它?即如果我将声明方便变量映射到特定函数的开头(我会不断更新的列表)?
根据help break似乎没有,但我想我最好要求确定.
(gdb) help break
Set breakpoint at specified line or function.
break [PROBE_MODIFIER] [LOCATION] [thread THREADNUM] [if CONDITION]
PROBE_MODIFIER shall be present if the command is to be placed in a
probe point. Accepted values are `-probe' (for a generic, automatically
guessed probe type) or `-probe-stap' (for a SystemTap probe).
LOCATION may be a line number, function name, or "*" and an address.
If a line number is specified, break at start of code …Run Code Online (Sandbox Code Playgroud) 在Firefox Quantum(57.0 64位)上,当我尝试使用Debugger窗格在Angular应用程序上设置断点时,断点会立即消失,并且实际上并未设置.
观看此处行为的视频:https: //youtu.be/aBQ0wOeIYYQ
对于视频,我使用angular-cli创建了一个新的角度项目:
Angular CLI: 1.5.0
Node: 8.4.0
OS: darwin x64
Run Code Online (Sandbox Code Playgroud)
然后我使用ng serve.
我尝试使用Chrome并正确设置了断点.
当我调试应用程序时,我到处都有很多断点,如果我已经完成了对我感兴趣的部分的调试,那么是否有可能忽略所有其余的断点并运行该应用程序?
我不想删除它们或永久禁用它们-只是一种快捷的键盘快捷方式,是的,我对当前的调试工作感到满意,并且我想在继续下一步之前检查输出。
谢谢你的帮助