问题列表 - 第29496页

2
推荐指数
3
解决办法
2万
查看次数

内存泄漏:无法中断内存分配号

我正在尝试找到内存泄漏问题.

我的项目是一个基于ATL的对话框项目,它使用DirectShow和标准库.

我的程序总共有45个内存泄漏,每个都有24个字节.

我在stdafx.h中定义了#defn _CRTDBG_MAP_ALLOC等,以及DEBUG_NEW来获取每个内存泄漏的文件和行号.

但是,不会打印文件行号.内存块都是"普通"块,如下所示:

{180} normal block at 0x003E6008, 24 bytes long. Data: <  >  _>   > W   > A0 AE 3E 00 B0 5F 3E 00 A0 AE 3E 00 57 00 00 00 
Run Code Online (Sandbox Code Playgroud)

我已经尝试将以下行添加到_tWinMain()的开头

_CrtSetBreakAlloc(180);
Run Code Online (Sandbox Code Playgroud)

为了打破分配,但调试器根本没有中断.

任何人都可以告诉我如何追踪难以捉摸的内存泄漏?

最后,这是我的_tWinMain() - 我在退出之前调用_CrtDumpMemoryLeaks().

int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPTSTR lpstrCmdLine, int nCmdShow){
    _CrtSetBreakAlloc(180);

    HRESULT hRes = ::CoInitializeEx(NULL, COINIT_MULTITHREADED);
    ATLASSERT(SUCCEEDED(hRes));


    ::DefWindowProc(NULL, 0, 0, 0L);
    AtlInitCommonControls(ICC_BAR_CLASSES);

    //HINSTANCE hInstRich = ::LoadLibrary(CRichEditCtrl::GetLibraryName());

    hRes = _Module.Init(NULL, hInstance);
    ATLASSERT(SUCCEEDED(hRes));

    int nRet = Run(lpstrCmdLine, nCmdShow); …
Run Code Online (Sandbox Code Playgroud)

c++ memory-leaks

5
推荐指数
1
解决办法
3615
查看次数

jQuery UI对话框链接而不是按钮

我想添加一个按钮(默认支持)和链接jQuery UI对话框.如何在jQuery UI对话框中添加链接?在我的情况下,我喜欢保存按钮和取消链接.提前致谢.

jquery jquery-ui

3
推荐指数
2
解决办法
9941
查看次数

如何在辅助监视器上显示表单?

我正在用Delphi编写一个屏幕保护程序.我想要在每个显示器上全屏显示TpresentationFrm.为此,我写了以下(不完整)程序:

program ScrTemplate;

uses
  ...

{$R *.res}

type
  TScreenSaverMode = (ssmConfig, ssmDisplay, ssmPreview, ssmPassword);

function GetScreenSaverMode: TScreenSaverMode;
begin
  // Some non-interesting code
end;

var
  i: integer;
  presentationForms: array of TpresentationFrm;

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;

  case GetScreenSaverMode of
    ssmConfig:
      Application.CreateForm(TconfigFrm, configFrm);
    ssmDisplay:
      begin
        SetLength(presentationForms, Screen.MonitorCount);
        for i := 0 to high(presentationForms) do
        begin
          Application.CreateForm(TpresentationFrm, presentationForms[i]);
          presentationForms[i].BoundsRect := Screen.Monitors[i].BoundsRect;
          presentationForms[i].Visible := true;
        end;
      end
  else
    ShowMessage(GetEnumName(TypeInfo(TScreenSaverMode), integer(GetScreenSaverMode)));
  end;

  Application.Run;
end.
Run Code Online (Sandbox Code Playgroud)

ssmDisplay被执行的代码,两种形式确实是创造了(是的,我有整整两个显示器).但它们都出现在第一个监视器上(索引0,但不是主监视器).

单步执行代码时,我发现它Screen.Monitors[i].BoundsRect是正确的,但由于某种原因,表单获得了不正确的边界:

Watch Name                          Value (TRect: Left, …
Run Code Online (Sandbox Code Playgroud)

delphi multiple-monitors screensaver

7
推荐指数
1
解决办法
8991
查看次数

可能有相同的合同,相同的绑定,相同的地址,但不同的端口?

我有需要通过basicHTTPBinding进行通信的手持设备.我有合同,一切都按照广告宣传.

我需要扩展它以便轻松支持转换到测试环境,培训和生产.我采用了端口路由,认为我可以通过端口差异暴露不同的端点,并根据端口,决定我想要信息的数据库.

我似乎无法使这项工作,到目前为止,没有任何信息表明它可以完成.由于端口是可选的,因此可能不是.

有人做过这样的事吗?

.net wcf wcf-endpoint

5
推荐指数
1
解决办法
5568
查看次数

Entity Framework ObjectContext是否正确实现了工作单元模式?

实体框架4 - STE - 简单数据库与单表博客具有BlogID PK列...

var samplesDbEntities = new SamplesDBEntities();
var blogId = Guid.NewGuid();
samplesDbEntities.Blogs.AddObject(new Blog() { BlogID = blogId });
var objectSetResult = samplesDbEntities.Blogs
                                       .Where(p => p.BlogID == blogId)
                                       .SingleOrDefault();
Run Code Online (Sandbox Code Playgroud)

(代码执行的结果=> objectSetResult ==在最后一行之后为null)

AFAIK,ObjectContext是UoW模式的实现,在这种情况下,我想我应该从ObjectSet(Repository)返回结果只是"标记为瞬态"有人可以解释一下我做错了什么以及为什么objectSetResult在这里有空值?

(是的,我知道ObjectStateManager,但对我而言,它更像是上面提到的架构问题的补丁)

entity-framework entity-framework-4

6
推荐指数
1
解决办法
1422
查看次数

当我缩小css或js时,为什么不在一行上?

我知道缩小尝试通过删除空白字符来减小文件大小.有时事情最终会出现在一条线上,但通常会有多条线.我注意到,只要出现空格,就会发生换行.把它全部放在一条线上不是更好吗?

javascript css minify

5
推荐指数
1
解决办法
1513
查看次数

Java SSO:针对Active Directory的Kerberos身份验证

我仍在尝试为SSO(在*nix上运行)找到基于Java的解决方案,我可以在JBoss上使用它来针对Active Directory /域控制器进行授权.我最初尝试通过NTLM执行此操作,但放弃了因为它在Windows Server> = 2008上不受支持.

因此,我正在尝试使用Kerberos实现此功能,但似乎无法找到正确/可行的解决方案.请指出正确的方向,说明如何设置这样的配置,如何验证Active Directory和/或域控制器,以便:

  1. 找出该帐户是否有效
  2. 获取用户的组列表

任何帮助表示赞赏!


UPDATE

我正在使用jcifs-ext-0.9.4和jcifs-krb5-1.3.12开发解决方案.我按如下所述设置了web.xml:

<web-app>
  <!-- servlet / servlet-mapping / welcome-file-list skipped -->

 <filter>
 <filter-name>auth</filter-name>
 <filter-class>jcifs.http.AuthenticationFilter</filter-class>

 <init-param>
 <param-name>java.security.auth.login.config</param-name>
 <param-value>/WEB-INF/login.conf</param-value>
 </init-param>

 <init-param>
 <param-name>jcifs.spnego.servicePrincipal</param-name>
 <param-value>HTTP/testconn@mydomain.com</param-value>
 </init-param>

 <init-param>
 <param-name>jcifs.spnego.servicePassword</param-name>
 <param-value>supersecret</param-value>
 </init-param>

 <init-param>
 <param-name>sun.security.krb5.debug</param-name>
 <param-value>true</param-value>
 </init-param>

 <init-param>
 <param-name>java.security.krb5.realm</param-name>
 <param-value>mydomain.com</param-value>
 </init-param>

 <init-param>
 <param-name>java.security.krb5.kdc</param-name>
 <param-value>testdom01.mydomain.com </param-value>
 </init-param>

 <init-param>
 <param-name>jcifs.smb.client.domain</param-name>
 <param-value>TESTDOMAIN</param-value>
 </init-param>

 <init-param>
 <param-name>jcifs.http.enableNegotiate</param-name>
 <param-value>true</param-value>
 </init-param>

 <init-param>
 <param-name>jcifs.http.basicRealm</param-name>
 <param-value>mydomain.com</param-value>
 </init-param>

 <init-param>
 <param-name>jcifs.http.domainController</param-name>
 <param-value>testdom01.mydomain.com</param-value>
 </init-param>

 </filter>
 <filter-mapping>
 <filter-name>auth</filter-name>
 <url-pattern>/*</url-pattern>
 </filter-mapping>
</web-app>
Run Code Online (Sandbox Code Playgroud)

如果尝试访问应用程序,这会导致以下堆栈跟踪:

2010-07-22 15:53:10,588 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/google].[default]] Servlet.service() for servlet …
Run Code Online (Sandbox Code Playgroud)

java authentication kerberos active-directory single-sign-on

12
推荐指数
1
解决办法
2万
查看次数

.NET紧凑框架 - 检测是否在模拟器下?

有没有办法从.NET CF代码检测我们是在仿真器还是真实设备上运行?

谢谢Dominik

.net c# compact-framework device-emulation

7
推荐指数
1
解决办法
1596
查看次数

为什么request.getRemoteAddr()根据上下文(post query或ajax query)返回ipv4或ipv6

我已经使用Spring/GWT使用Flash上​​传文件.

当我用GWT发送ajax请求并尝试获取用户的ip地址时,我得到一个ipv4地址,如:127.0.0.1

但是当我用flash上​​传我的文件时(以及在同一个webapp上的post请求)我得到一个ipv6地址0:0:0:0:0:0:0:1

我使用相同的代码来获取用户ip,即:

ServletRequestAttributes att = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();
att.getRequest().getRemoteAddr();
Run Code Online (Sandbox Code Playgroud)

问题是我使用一个使用ip地址的签名来确保用户可以上传文件(由于使用flash上​​传时会话丢失的错误)以及当我使用ajax或Post via flash时ip地址发生变化.

有什么问题,我怎么能得到相同的IP格式?

谢谢

java spring ipv4 ipv6 java-ee

23
推荐指数
2
解决办法
3万
查看次数