这是完整的错误消息:
System.Web.dll中出现"System.Web.HttpException"类型的异常,但未在用户代码中处理
附加信息:远程主机关闭了连接.错误代码是0x80070057.
和违规代码:
char[] buffer = oPage.HTML.HTML.ToCharArray();
Page.Response.Write(buffer, 0, buffer.Length);
Page.Response.Flush();
Page.Response.End();
Run Code Online (Sandbox Code Playgroud)
oPage.HTML.HTML是我们的应用程序使用的自定义页面对象中的字符串.Page.Flush()上的异常触发并且似乎是良性的 - 我只是点击"继续"并且一切顺利.这从未在运行时出现.
我已经追赶了许多谷歌击中了许多兔子洞并没有找到任何东西.Visual Studio 2005,Vista Ultimate(IIS7).
请告诉我您希望当前Python调试器具有哪些功能.我正在创建一个新的Python IDE /调试器,我期待着挑战请求!
我有一个项目,其调用结构类似于:
一切都是用C#编写的,我可以访问"别人的库代码".他们的代码不包含在我的项目中,因为它是开源而不是我的代码.我可以制作所有库的调试版本,我已经这样做了.
那个'别人的库代码(SELC,我猜?)是以一种heisen-bug的方式抛出一个异常,而我正试图追踪它并可能向项目维护者提交一个bug修复.问题是,我的调试堆栈停在我的库代码中,并将SELC列为"外部",我无法调试它.我已经将pdb文件以及库的调试版本复制到我的应用程序的调试目录中,但仍然没有运气; 我似乎无法调试他们的代码,我根本无法介入它.
曾几何时,回到vs6天,我可以做到这一点 - 在两个不同的环境中同时打开两个不同的项目,并让调试器跟踪从一个项目到另一个项目的dll边界.我认为功能仍然存在,因为它只是非常有用.
有什么建议?
我已经找到了这个答案,但没有找到它,所以如果这是一个骗局,请告诉我在哪里看.
调试器不想进入未使用的变量.如果我声明(var x = "hola")它不能识别x并且说它在当前上下文中不存在.当我做一些工作x然后它识别它.
在.NET 2.0和VS.NET 2005中调试ASP.NET应用程序时,我习惯于附加一个进程.我不知道VS.NET 2008中这个功能发生了什么.
我也不想通过从起始页面开始进行调试,因为当应用程序足够大时你不希望它被编译,你有时无法从一开始就抓住一个案例而你想在那段时间内抓住那个案例.
我无法想象这一个.
我正在使用VS.NET 2008 Team Suite运行Vista Ultimate x64.
此外,在WebSite Propery页面的启动选项中,服务器被选为"使用默认Web服务器",自定义服务器显示为灰色,我无法检查.(我不知道我是否需要一些改变,但我甚至不能尝试)
最重要的是,我尝试从默认页面进行调试,但在这种情况下,我得到的是"无法在Web服务器上开始调试.在Windows 64位平台上不支持混合模式调试".什么?无论如何,我进入解决方案的配置管理器并将混合模式更改为任何CPU,但没有运气.
在没有调试帮助的情况下,将ASP.NET降低到PHP或其他类型的水平.
补充说明:
我有时会发现自己试图修复一个顽固的虫子,只是在一段时间后才发现一些非常明显的错误.
当我认为这个问题与某些事情有关时,我会发生这种情况,并且我会对其他可能出错的事情"盲目".
大部分时间都有助于睡眠,第二天早上我立即看到了问题.
过去发生在我身上的事情:
在调试过程中你有什么'盲目'的体验?
作为一名训练有素的黑客,我决定自己创建一个string_reverse函数,它接受一个字符串,为一个新字符串分配内存,并返回一个指向新字符串的指针,但是我没有得到我想要的东西,这会返回分段错误.
#include <stdio.h>
#include <stdlib.h>
char* string_reverse(char* string);
char* string_reverse(char* string) {
int len = 0;
for (int i = 0; *(string + i) != '\0'; ++i)
len++;
char* result = (char*)malloc(len * sizeof(char));
if (result == NULL){
puts("Pointer failure");
exit(EXIT_FAILURE);
}
for (int i = 0; *(string + i) != '\0'; ++i)
*(result + (len - i)) = *(string + i);
return *result;
}
int main() {
char* str= "Ni Hao!";
char* result = string_reverse(str);
printf("%s\n", result);
free(result);
return …Run Code Online (Sandbox Code Playgroud) 我想在几个超类上有更详细的日志调试/日志记录输出,因此子类名称实际上不会影响实时性能,也不会影响应用程序逻辑.我也认为通常这样做是相当糟糕的设计,但是我真的希望在开发运行期间记录这些信息.
假设我有一个如下所示的简单类结构,如何将子类的名称拉入超类而不必显式传递引用?
public abstract AbstractClass {
private Logger logger = LoggerFactory.getLogger(getClass());
public AbstractClass() {}
public void execute(ContextObject context) {
if (logger.debuggingEnabled()) {
String invokingClassName = ""; // <-- how do I get this?
logger.debug("Executing {}", invokingClassName);
}
// shared application logic is here...
}
}
public MyClass extends AbstractClass {
public MyClass() {}
@Override
public void execute(ContextObject context) {
super.execute(context);
// application logic...
}
}
Run Code Online (Sandbox Code Playgroud)
我曾经使用过解析堆栈跟踪,我怀疑如果我想要这些信息,那就是我必须走的路线.有谁知道一个库会为我做这个或一个很好的代码片段?
大多数程序员都有调试/修复别人代码的经验.有时"别人的代码"是如此混淆,试图了解它正在做什么是不够的.
您必须调试/修复的最差(最混淆)代码是什么?
如果你没有扔掉它并从头开始重新编码,那你为什么不呢?