是否有可能在gdb中转到当前执行行之前的一行.例如:
void my_fun( somePtrType** arr,int start,int end)
{
// arr is an array of pointers to somePtrType
//line a
... some assignments
swap(&arr[ind1] , &arr[ind2] ) ;
//line b (current line )
}
Run Code Online (Sandbox Code Playgroud)
我现在在b行,可以检查arr那里的值,但我想回到第一行并检查arr那时的内容.
我认为这可能是不可能的,因为调试器可以以慢动作运行代码,但不能使其向后执行.
更多见解..
可能重复:
JavaScript数据格式化/漂亮的打印机
我对在FireBug中查看未格式化的json blob感到有些厌倦.
有没有人知道jQuery的PHP的print_r()相当于?
会递归地从对象或数组中生成显示字符串的东西,我可以在页面上显示以便快速调试吗?
谢谢!
我目前正在使用Firebug调试复杂的JavaScript代码.我正在寻找一种方法来停止JavaScript执行,就好像它是一个断断点编程.
例:
instructions ...
degugger.breakpoint(); // the execution stops here as if a breakpoint was
// manually set
other instructions ...
Run Code Online (Sandbox Code Playgroud) 如何在Visual C#2010 Express中的调试和发布之间切换?
我查看了项目属性,但似乎缺失了.我错过了什么?
我知道你们都会回答"使用像Fiddler这样的调试代理服务器",但事情并非那么简单.
这是我的情况:我有一些代码在服务器上运行,在ASP.NET页面代码隐藏(aspx.cs)中,其中(除其他外)建立与另一个服务器的连接,抓取一些东西,然后格式化它并将其返回给浏览器.
问题是其他服务器做错了,所以我希望能够将调试标志传递到页面中(通过查询字符串,例如?debug = true),这样它就会打印出完全原始的 HTTP请求它发送到其他服务器所以我可以看到什么是错的.这段代码在几个地方运行,所以我希望能够在dev,staging或production上传递这个标志,只看到请求,而不必弄清楚生产服务器是否可以与某处存在的代理服务器通信等
你会认为这样做很容易,对吧?所以我觉得我疯了或者别的什么,但我查看了HttpWebRequest及其父类WebRequest的参考资料 - 什么都没有.没有办法.你会认为微软会想到这一点.最接近的是你可以访问"Headers"集合,但是当我尝试它时,它省略了一些非常重要的标题,如"内容长度" - 所以它必须"撒谎"给我(我知道它在撒谎,因为我知道因为远程服务器返回200状态 - 请求成功,它只返回错误/不同/错误的数据)
这是ask-for代码示例:
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://www.whatever.com");
req.Method = ... whatever ...;
... other setup for the request ...
/* At this point we are about to send the request.
What does the raw HTTP request look like? */
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
Run Code Online (Sandbox Code Playgroud) 我想调试一个信息框,显示当我将鼠标悬停在谷歌地图标记上时.但谷歌地图禁用右键单击地图画布上的任何位置,因此我无法检查该元素以进行调试/查看.
我试图通过元素选项卡中的href内容搜索元素,但它没有显示在搜索上.
尽管没有右键点击,有没有办法检查元素?
debugging google-chrome javascript-debugger google-chrome-devtools
我正在尝试使用ndk-build编译库时打印一些额外的信息.
例如:
LOCAL_PATH := $(call my-dir)
all:;echo $(LOCAL_PATH)
echo: $(LOCAL_PATH)
print:echo "i'm not working"
Run Code Online (Sandbox Code Playgroud)
当我做ndk-build时,只需编译所有Android.mk,但我没有得到控制台回声.我已经阅读了GNU make info(ndk-build只是一个很小的GNU make),有些帖子说echo必须使用$(VAR)才能工作,但它不适用于我的情况.
有些想法?
我试图使用真实设备而不是在模拟器上调试我的应用程序.当我尝试连接时,它给了我以下信息:
找不到USB设备
我试图拔掉它并重新插上它,但它没有用.我还在我的设备中启用了USB调试和未知来源选项.
任何帮助表示赞赏!
谢谢!
我可能已经知道了这一点,但我不确定,我也没有记录.
我在开发过程中经常使用System.Diagnostics.Debug.WriteLine来跟踪变量或异常的变化,因为我正在调试代码.这意味着只有在开发过程中才能更容易地开发和理解发生的事情.我通常要么注释掉代码,要么在我去制作时将其删除.
我想知道如果我忘记评论代码会发生什么.比如说,在开发周期中,我正在跟踪可能使用Debug.Write Line将连接sting到输出窗口的错误信息.这显然可以在开发时使用,但我想知道当我上线时,如果这里存在风险.有人可以将调试器附加到我的实时可执行文件并捕获此输出吗?或者它只是在Visual Studio中产生输出?
那么当我们从调试切换到发布时呢?如果我们编译发布版本,编译器是否会忽略此代码?
当Java应用程序挂起时,您甚至不知道导致这种情况的用例并想要调查,我理解线程转储可能很有用.
但是,我们如何从线程转储中轻松地获取有用的数据以找出问题所在?我一直在使用的服务器应用程序产生很长的线程转储,因为它是一个EJB体系结构,并且线程转储包含许多容器线程,我不确定我应该关注它们(即没有运行我的应用程序代码的线程) ,但JBoss的代码).
昨天我尝试了Thread Dump Analyzer工具.该工具肯定比在文本编辑器中查看原始线程转储更好,因为您可以过滤掉您不感兴趣的线程,查看线程列表,单击线程以查看其详细信息,比较线程转储以查找长时间运行的线程等.见下面的截图:

但仍有太多数据需要分析 - 近300个线程.我不知道有什么标准可以用来过滤掉所有我不感兴趣的JBoss线程.我不确定我是否应该查看当前处于"可运行"状态的线程,或者"等待条件"和"在Object.wait"中的线程也很重要.
您通常会遵循的方法和一般使用的工具是什么?
debugging ×10
.net ×2
c# ×2
adb ×1
android ×1
android-ndk ×1
asp.net ×1
breakpoints ×1
deadlock ×1
firebug ×1
gdb ×1
java ×1
javascript ×1
jquery ×1
makefile ×1
php ×1
proxy ×1
release ×1
thread-dump ×1