Tag: debugging

用于debuggingmakefile的工具

我有一个很大的遗留代码库,有非常复杂的makefile,有很多variables。 有时我需要改变它们,我发现要弄清楚为什么改变不能按我期望的方式进行。 我想find的是一个工具,它基本上是对“make”过程进行逐步debugging,在那里我将给它一个目录,我将能够看到不同variables的值在处理。 没有一个debugging标志似乎向我展示了我想要的东西,尽pipe可能我错过了一些东西。 有谁知道一个办法做到这一点?

在Visual Studio中debugging转储文件

我正在使用Visual Studio 2010专业版和Windows Vista。 首先,我有这个代码。 正如你所看到的,它会使程序崩溃! using System; namespace Crash { class Program { static void Main(string[] args) { string a = null; if (a.Length == 12) { // ^^ Crash } } } } 程序将在if语句中崩溃。 现在,我想知道,它是如果陈述坠毁。 如果我从Visual Studio“开始不debugging”,Crash.exe崩溃。 它使用了1356kb的内存。 我得到closures程序/debugging的Vista选项。 如果我selectdebugging,我可以打开一个新的Visual Studio实例,它指向我在if语句上的NullReferenceException。 这很好。 现在让我假设它在另一台计算机上崩溃,我让他们通过任务pipe理器给我一个转储文件。 这是54,567kb。 为什么这么大! 这是巨大的! 无论如何,我对这个(略)感兴趣不大 如果我用Windbg打开那个垃圾堆,那么我对未经训练的眼睛就没有什么用处了: Microsoft (R) Windows Debugger Version […]

Visual Studio:在进程生成时自动附加到进程

我想附加到一个进程(a.exe)一旦产卵,它是可以与VS? 我只知道过程的名字。 其实我想完成的是在C#代码中设置断点,但代码属于另一个可执行文件,将由当前正在运行的应用程序(c.exe)启动。 代码在初始化期间内,所以我不可能手动执行附加操作。

'元素'的初始化被'case'标签跳过

我不明白为什么我得到错误: “元素”的初始化由“大小写”标签跳过。 有人可以向我解释吗? void LinkedList::process_example(int choice) { switch(choice) { case 1: cout << endl << endl << "Current S = "; this->printSet(); cout << "Enter an element :"; char* element = "lol"; //cin>>element; cin.clear(); cin.ignore(200, '\n'); this->Addelementfromback(element); //error is here cout << endl << endl << "Current S = "; this->printSet(); break; case 2: this->check_element(); […]

如何等待,直到远程.NETdebugging器连接

今天我碰到一个问题,我需要远程debugging一个程序。 该程序是从另一个系统启动的,所以我实在没有机会在命令行上与之交互。 我可以很容易地改变它的来源。 我需要发生的是程序正常启动,然后等待我用debugging器附加到它。 我不能想出办法让我开心。 我确实发现了错误,但没有debugging器的帮助。 while(true) { } 保持进程活着,然后我可以用debugging器“设置下一个语句”,但它似乎尴尬和粗鲁。 Console.ReadLine(); 由于实际上没有一个控制台让我按下input ,所以看起来很奇怪。 (它也行不通,设置下一个语句,然后运行,让你回到ReadLine()等待。) 那么,我可以在.NET / CLR / C#程序中插入什么types的代码,说:“等到这里,直到我可以附加一个debugging器”?

如何查看HttpWebRequest类发送的原始HTTP请求?

我知道你们都会回答“使用像Fiddler这样的debugging代理服务器”,但事情并不那么简单。 这是我的情况:我有一些运行在服务器上的代码,在一个ASP.NET页面代码隐藏(aspx.cs)中,(除其他外)build立到另一个服务器的连接,抓取一些东西,然后格式化并将其返回给浏览器。 问题是另一个服务器做错了事情,所以我想能够传递一个debugging标志到页面(通过查询string,例如?debug = true),以便它将打印出完全原始的 HTTP请求它发送到其他服务器,以便我可以看到什么是错误的。 这个代码运行在几个地方,所以我希望能够在dev,staging或者production中传递这个标记,而不必去查看生产服务器是否可以和某个代理服务器通信等等 你会认为这样做很容易,对吧? 所以我觉得我疯了或什么东西,但我看了HttpWebRequest及其父类WebRequest的参考和 – 什么都没有。 没有可以做的。 你会认为微软会想到这一点。 最接近的是你可以访问“Headers”集合,但是当我尝试它时,它省略了一些非常重要的标题,比如“内容长度” – 所以它必须对我说谎(我知道这是谎言,因为我知道对于远程服务器返回200状态的事实 – 请求成功,它只是返回错误/不同/错误的数据) 这是要求的代码示例: 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? */ […]

如何检查是否在web.config中启用了debugging

我有我的VB.NET 1.1天的一些代码,允许我dynamic检查是否在web.config中启用了debugging。 我想,为什么重新发明轮打开/closures日志logging,如果我可以简单地让Webpipe理员启用debugging。 这里是我在VB.NET中使用的代码,工作得很好: ConfigurationSettings.GetConfig("system.web/compilation").Debug.ToString() 当我想将其转换为C#并在.NET 3.5中使用它时,我遇到了一些麻烦,它不起作用。 此外,我想使用ConfigurationManager.GetSection的新构造。 任何人都可以build议如何最好的阅读system.web/compilation/debug=true|false值? 非常感激!

Xcode在debugging时评估expression式

我正在开发一个iPhone应用程序。 我是一个全职的Java开发人员,我习惯于使用Eclipse,在那里我可以放置一个断点,并停止进程。 然后,我可以input任何我想要的expression式,Eclipse将使用该过程中的值来评估它。 有没有办法做到这一点在Xcode? 我希望能够在断点处停下来,然后input一些代码来评估它。 GDB控制台将让我做po ( 打印对象 ),但它是非常有限的。 任何帮助?

你最喜欢的Windbg提示/技巧是什么?

我已经认识到,Windbg是Windows平台的一个非常强大的debugging器,我偶尔会学到一些新的东西。 Windbg的用户可以分享一些疯狂的技能吗? ps:我不是在寻找一个漂亮的命令,那些可以在文档中find。 如何分享有关做一些别人无法想象的事情的提示可以用windbg来完成? 例如,在windbg下运行一个进程时,可以使用某种方法来生成有关内存分配的统计信息。

Xcode将在模拟器上运行应用程序,但不会在设备上运行

尝试在我的设备上运行应用程序时收到以下错误。 error: failed to launch '/Users/michael/Library/Developer/Xcode/DerivedData/Build/Products/Debug-iphoneos/Word Processor.app/Word Processor' — No such file or directory (/Users/michael/Library/Developer/Xcode/DerivedData/Build/Products/Debug-iphoneos/Word Processor.app/Word Processor) 该应用程序在模拟器中运行良好。 当我尝试在设备上进行debugging时,它似乎是复制应用程序(我可以看到图标),但随后停止上述消息。 Xcode说它正在我的iPod上运行应用程序,但是我的iPod上没有任何事情发生。 当我点击应用程序,应用程序似乎启动,但似乎缺less资源。 其他矿山项目工作正常。 我需要改变什么设置才能正常工作? 看着这个错误消息,它似乎是在我的Mac应用程序中查找。 但是这是没有意义的,因为我试图在我的第四代iPod touch上运行它。 我正在使用Xcode 4.3.1和iOS 5.1