我正在使用git to subversion bridge来检查一个subversion存储库.最初我使用这个命令,
get svn clone -s svn://repositoryName/etc
Run Code Online (Sandbox Code Playgroud)
但我们的颠覆存储库是庞大的,多年的开发,许多分支等.
结果是进程经常死亡,当它压缩存储库时,内存使用量超过1.5 GB,并且它就会死掉.
所以我想也许我会尝试检查后备箱,因为这是我将要使用的主要内容.所以我试过这个,
get svn clone -trunk svn://repositoryName/etc
Run Code Online (Sandbox Code Playgroud)
但我得到一个错误,在模式匹配中使用未初始化的值.
有人可以告诉我正确的命令只用于检查主干.还有一个已知的错误/内存泄漏?我在Windows上使用Git版本1.7.3.1-preview20201002.
有关于git和命令行选项的官方文档吗?
我们有一个相当大的silverlight 4应用程序.我们正在寻找应用程序中的内存泄漏,这已经变成了一项艰巨的任务.
对于那些看过原帖的人来说,事情已经彻底改变了!
我意识到ANTS内存分析器并没有向我展示正确的东西.那是因为内存泄漏不在托管代码中,而是在本机代码中.我确实解决了ANTS的一些问题 - 它是托管代码内存泄漏的好工具.
所以我找到了这个博客,
哪个很棒.我使用xPerf和xPerfViewer来查看本机堆,看看我怀疑是实际的内存泄漏.
所以我可以看到一个看起来像这样的堆栈跟踪,
CCoreServices::Draw
CCoreServices::Tick
CUElement::Render
CUIElement::Render
CUIElement::RenderWithTransform
CUIElement::RenderVisual
CUIElement::RenderChildren
{Repeat of the above in a recursive fashion}
Run Code Online (Sandbox Code Playgroud)
所以在这个'Render'方法的某个地方,它分配了大约520字节的内存,据我所知它并没有释放它.
我还可以看到一个叫做的方法或类
SDBitmapCreate
Run Code Online (Sandbox Code Playgroud)
也在泄漏记忆.
有意思,因为我似乎找到了什么,但我不确定是什么.
还有其他建议吗?
谢谢.
我正在使用地理空间形状并在这里查看质心算法,
http://en.wikipedia.org/wiki/Centroid#Centroid_of_polygon
我已经在C#中实现了这样的代码(这只是这个改编),
class Program
{
static void Main(string[] args)
{
List<Point> vertices = new List<Point>();
vertices.Add(new Point() { X = 1, Y = 1 });
vertices.Add(new Point() { X = 1, Y = 10 });
vertices.Add(new Point() { X = 2, Y = 10 });
vertices.Add(new Point() { X = 2, Y = 2 });
vertices.Add(new Point() { X = 10, Y = 2 });
vertices.Add(new Point() { X = 10, Y = 1 });
vertices.Add(new Point() { …Run Code Online (Sandbox Code Playgroud) 我正在使用DLLImport从C#应用程序调用GhostScript库.
所以我有一些这样的代码,
[DllImport("gsdll32.dll", EntryPoint = "gsapi_init_with_args")]
private static extern int gsapi_init_with_args(IntPtr instance, int argc, IntPtr argv);
try
{
intReturn = gsapi_init_with_args(intGSInstanceHandle, intElementCount, intptrArgs);
}
catch (Exception ex)
{
throw new ApplicationException(ex.Message, ex);
}
Run Code Online (Sandbox Code Playgroud)
我将看一下用C或C++编写的GhostScript源代码,但总的来说我想知道如果GhostScript代码抛出未处理的异常会发生什么?会不会被那里的捕获物捕获,或者它必须看起来像这样,
catch
{
// blah
}
Run Code Online (Sandbox Code Playgroud) 我从我的IIS Web应用程序中启动一个小型控制台应用程序.代码是使用这样的代码从应用程序池中启动的,
Process process = new Process();
ProcessStartInfo processStartInfo = new ProcessStartInfo();
processStartInfo.CreateNoWindow = true;
processStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
// ..
process.Start();
Run Code Online (Sandbox Code Playgroud)
我曾经间歇性地得到一个错误,
Win32Exception exception has occured Message: No such interface supported
ErrorCode: 80004005 NativeErrorCode: 80004002
Run Code Online (Sandbox Code Playgroud)
我证明了当发生这种情况时,控制台应用程序根本无法启动.
我在上面的代码中添加了
processStartInfo.UseShellExecute = false;
Run Code Online (Sandbox Code Playgroud)
问题已经消失(到目前为止,手指交叉).我知道通过进行此更改它不需要运行有效的桌面上下文,但这究竟是什么意思.如果这意味着如果没有桌面(适用于与系统用户一起运行的IIS应用程序池),我们就无法运行上面的代码,那么为什么以前有时会运行它而不是每次都失败?
有没有人知道为什么这会有所作为?在这种情况下,没有支持接口意味着什么?
更新:
我已经接受了人们所说的一切,并且自己做了更多的研究.总结一下,如果你有UseShellExecute = true(这是默认值),那么它将调用shell32.dll中的ShellExecuteEX来执行该过程.它实际上会这样做(使用ILSpy从System.dll复制),
public bool ShellExecuteOnSTAThread()
{
if (Thread.CurrentThread.GetApartmentState() != ApartmentState.STA)
{
ThreadStart start = new ThreadStart(this.ShellExecuteFunction);
Thread thread = new Thread(start);
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
thread.Join();
}
else
{
this.ShellExecuteFunction();
}
return this._succeeded;
}
Run Code Online (Sandbox Code Playgroud)
如果您有UseShellExecute = false,那么它将调用kernel32.dll中的CreateProcess来启动该进程.
我想知道上面的代码ShellExecuteOnSTAThread创建一个新线程是否存在问题?应用程序池是否可以在线程上达到某些限制,这可能会间接导致Win32Exception?
我正在使用WIX作为安装程序包.当我通过双击原始的msi包卸载包时,一切都很好.
当我从控制面板卸载它时,它给我一个miminal UI卸载.我已经在MSI中写入了一个自定义操作,询问用户是否要卸载某些数据库等.这在最小的UI卸载时不会发生.
如何通过完整的UI使控制面板上的uinstall工作?
我有一个JSON WCF服务,我写了一些javascript来访问这样的服务,
function stuffClick2() {
$.ajax({
url: "http://192.168.54.98/JsonWCFService/Service1.svc/Post",
type: "POST",
contentType: "application/json",
data: '{"x":"1","y":"2","message":"The answer is: "}',
dataType: "html",
success: function(data) { $('body').html(data); }
});
}
Run Code Online (Sandbox Code Playgroud)
我写了一个HTML页面,里面有上面的javascript.HTML页面使用IIS提供.
当我在PC上使用chrome访问HTML页面时,我看到这些操作按此顺序发送到WCF JSON服务,
OPTIONS /JsonWCFService/Service1.svc/Post HTTP/1.1
POST /JsonWCFService/Service1.svc/Post HTTP/1.1
Run Code Online (Sandbox Code Playgroud)
OPTIONS以前失败了,但我让OPTIONS调用返回这个标题然后使它工作,
Access-Control-Allow-Origin: *
Run Code Online (Sandbox Code Playgroud)
但我上面定义的回调不起作用,
success: function(data) { $('body').html(data); }
Run Code Online (Sandbox Code Playgroud)
我知道WCF服务已经返回了这样的东西,
<b> The answer is 3 </b>
Run Code Online (Sandbox Code Playgroud)
但是当调用回调时,data的值是一个空字符串.
当我在不同的浏览器(IE)中运行html页面时,它只会导致POST调用,而不是OPTIONS调用,那么它可以工作.我注意到IE警告我它存在安全隐患,并询问我是否要继续.
是否有任何数据可以说明在开发iOS和Android应用程序时使用了多少PhoneGap?
应用程序的数量是数百,还是数千等,或者是一个跨平台的解决方案太过于让人们认真对待它的妥协?
其他跨平台解决方案的任何其他数据,关于它们的使用量或它们的受欢迎程度如何?
我有一些这样的javascript代码,
var worker = new Worker("javascript/worker.js");
worker.onmessage = function(evt)
{
// stuff
}
Run Code Online (Sandbox Code Playgroud)
worker.js看起来像这样,
importScripts("base.js");
function getImage()
{
$.ajax({
url: 'URL'
dataType: "text/plain; charset=x-user-defined",
mimeType: "text/plain; charset=x-user-defined",
success: function(data, textStatus, jqXHR)
{
callback();
}
});
}
Run Code Online (Sandbox Code Playgroud)
worker.js文件没有包含jQuery,因此不起作用.如果我将它添加到worker.js,
importScripts("jQuery.js");
Run Code Online (Sandbox Code Playgroud)
然后我收到消息,
Uncaught ReferenceError: window is not defined
Run Code Online (Sandbox Code Playgroud)
我对工人并不熟悉.我是否正确地认为它是在一个完全独立的环境(基本上是后台线程)中加载worker.js代码,因此它无法访问窗口.
我在 Silverlight 项目中使用 RIA 服务。我在客户端使用 LoadOperation 类从服务器加载一些数据。
在加载该数据的过程中,该请求可能会被对不同数据的较新请求所取代。这是基于对服务器进行的多个 LoadOperations,然后用户单击取消按钮。
如果我使用 LoadOperation 并在其上调用 'Cancel' 方法,则操作似乎取消,但服务器端代码并未停止,使用 fiddler 可以看到操作完成并返回 HTTP 状态代码 200。
当您调用“取消”时,服务器上会做什么,我希望它调用 ThreadAbortException 或类似的东西?这可以改进吗?
c# ×5
silverlight ×2
.net ×1
c++ ×1
centroid ×1
cordova ×1
exception ×1
geospatial ×1
git ×1
git-svn ×1
iis-7.5 ×1
javascript ×1
jquery ×1
svn ×1
wcf ×1
web-worker ×1
wix ×1