per garantire la portabilità tra Vista e Xp ho eliminato al massimo l'uso di string (però è assurdo)
poi di assurdo c'è anche questo:
a) se eseguo l'applicazione (avendo però il debug in monitor) posso aprire quante finestre voglio (sono arrivato a contarle 150 dello stesso menu) e non ottengo nessun avviso
b) se eseguo direttamente il debug su Vista ottengo un SIGENV (provo a cercalo ma senza risultato per capirsi non ho un palese Management.exe caused an Access Violation ...) provando disassemblare ...
Project title : Management
Project path : E:\CodeBlocks\Management\
Frame function: ntdll!RtlAddCompoundAce
Frame address : 0022EC6C
--------------------------------------------------------------------------------
7739F224 push $0x14
7739F226 push $0x773cf328
7739F22B call 0x773c47d8 <tan+184>
7739F230 pushl 0x8(%ebp)
7739F233 call 0x773a2172 <ntdll!RtlCreateEnvironment+997>
7739F238 test %al,%al
7739F23A je 0x773fc467 <ntdll!RtlDeleteCriticalSection+44632>
7739F240 xor %esi,%esi
7739F242 mov %esi,-0x4(%ebp)
7739F245 lea 0xc(%ebp),%eax
7739F248 push %eax
7739F249 mov 0xc(%ebp),%ebx
7739F24C push %ebx
7739F24D call 0x773b95d9 <ntdll!RtlGetLengthWithoutTrailingPathSeperators >
7739F252 test %al,%al
7739F254 jne 0x773fc471 <ntdll!RtlDeleteCriticalSection+44642>
7739F25A cmp %si,(%ebx)
7739F25D je 0x773fc49f <ntdll!RtlDeleteCriticalSection+44688>
7739F263 lea -0x20(%ebp),%eax
7739F266 push %eax
7739F267 lea 0xc(%ebp),%eax
7739F26A push %eax
7739F26B push %ebx
7739F26C pushl 0x8(%ebp)
7739F26F call 0x773a21b8 <ntdll!RtlCreateEnvironment+1067>
7739F274 cmp %esi,%eax
7739F276 je 0x7739f2e5 <ntdll!RtlAddCompoundAce+193>
7739F278 testb $0x1,0xa(%eax)
7739F27C jne 0x7739f292 <ntdll!RtlAddCompoundAce+110>
7739F27E cmpw $0xffffffff,0x8(%eax)
7739F283 je 0x773fc4ab <ntdll!RtlDeleteCriticalSection+44700>
7739F289 movzwl 0x8(%eax),%ecx
7739F28D inc %ecx
7739F28E mov %cx,0x8(%eax)
7739F292 mov 0x10(%ebp),%ecx
7739F295 cmp %esi,%ecx
7739F297 je 0x7739f2a0 <ntdll!RtlAddCompoundAce+124>
7739F299 mov 0x6(%eax),%ax
7739F29D mov %ax,(%ecx)
7739F2A0 mov %esi,-0x1c(%ebp)
7739F2A3 movl $0xfffffffe,-0x4(%ebp)
7739F2AA pushl 0x8(%ebp)
7739F2AD call 0x773a219e <ntdll!RtlCreateEnvironment+1041>
7739F2B2 mov -0x1c(%ebp),%eax
7739F2B5 call 0x773c481d <tan+253>
7739F2BA ret $0xc
7739F2BD nop
7739F2BE nop
7739F2BF nop
7739F2C0 nop
7739F2C1 nop
7739F2C2 mov %edi,%edi
7739F2C4 push %ebp
7739F2C5 mov %esp,%ebp
7739F2C7 pushl 0x8(%ebp)
7739F2CA mov %fs:0x18,%eax
7739F2D0 pushl 0x7744cdb4
7739F2D6 mov 0x30(%eax),%eax
7739F2D9 pushl 0x18(%eax)
7739F2DC call 0x773e162d <ntdll!RtlAnsiStringToUnicodeString>
7739F2E1 pop %ebp
7739F2E2 ret $0x8
7739F2E5 cmp %esi,0xc(%ebp)
7739F2E8 je 0x7739f377 <ntdll!RtlAddCompoundAce+339>
7739F2EE movl $0xc0000017,-0x1c(%ebp)
7739F2F5 push $0x416d7441
7739F2FA mov -0x20(%ebp),%edi
7739F2FD lea 0xe(%edi),%eax
7739F300 push %eax
7739F301 call 0x7739f2c2 <ntdll!RtlAddCompoundAce+158>
7739F306 mov %eax,%esi
7739F308 test %esi,%esi
7739F30A je 0x7739f2a3 <ntdll!RtlAddCompoundAce+127>
7739F30C andl $0x0,(%esi)
7739F30F movw $0x1,0x8(%esi)
7739F315 movb $0x0,0xa(%esi)
7739F319 push %edi
7739F31A push %ebx
7739F31B lea 0xc(%esi),%eax
7739F31E push %eax
7739F31F call 0x773c3a60 <ntdll!memcpy>
7739F324 add $0xc,%esp
7739F327 mov %edi,%eax
7739F329 shr %eax
7739F32B mov %al,0xb(%esi)
7739F32E movzbl %al,%eax
7739F331 andw $0x0,0xc(%esi,%eax,2)
7739F337 push %esi
7739F338 pushl 0x8(%ebp)
7739F33B call 0x7739f388 <ntdll!RtlAddCompoundAce+356>
7739F340 test %al,%al
7739F342 je 0x7739f36c <ntdll!RtlAddCompoundAce+328>
7739F344 mov 0x4(%esi),%ax
7739F348 or $0xc000,%ax
7739F34C mov %ax,0x6(%esi)
7739F350 mov 0xc(%ebp),%eax
7739F353 mov %esi,(%eax)
7739F355 mov 0x10(%ebp),%eax
7739F358 test %eax,%eax
7739F35A je 0x7739f363 <ntdll!RtlAddCompoundAce+319>
7739F35C mov 0x6(%esi),%cx
7739F360 mov %cx,(%eax)
7739F363 andl $0x0,-0x1c(%ebp)
7739F367 jmp 0x7739f2a3 <ntdll!RtlAddCompoundAce+127>
7739F36C push %esi
7739F36D call 0x773e5251 <ntdll!RtlDeleteNoSplay>
7739F372 jmp 0x7739f2a3 <ntdll!RtlAddCompoundAce+127>
7739F377 movl $0xc000000d,-0x1c(%ebp)
7739F37E jmp 0x7739f2a3 <ntdll!RtlAddCompoundAce+127>
7739F383 nop
7739F384 nop
7739F385 nop
7739F386 nop
7739F387 nop
7739F388 mov %edi,%edi
7739F38A push %ebp
7739F38B mov %esp,%ebp
7739F38D push %esi
7739F38E mov 0x8(%ebp),%esi
7739F391 lea 0x8(%ebp),%eax
7739F394 push %eax
7739F395 add $0x1c,%esi
7739F398 push %esi
7739F399 call 0x773b9fd6 <ntdll!RtlAnsiStringToUnicodeSize>
7739F39E test %eax,%eax
7739F3A0 je 0x773fc3d9 <ntdll!RtlDeleteCriticalSection+44490>
7739F3A6 mov 0x8(%ebp),%edx
7739F3A9 mov $0xffff,%ecx
7739F3AE cmp %ecx,%edx
7739F3B0 push %edi
7739F3B1 ja 0x7739f3e7 <ntdll!RtlAddCompoundAce+451>
7739F3B3 lea 0xc000(%edx),%edi
7739F3B9 cmp %edx,%edi
7739F3BB jb 0x7739f3e7 <ntdll!RtlAddCompoundAce+451>
7739F3BD cmp %ecx,%edi
7739F3BF ja 0x7739f3e7 <ntdll!RtlAddCompoundAce+451>
7739F3C1 mov 0xc(%ebp),%ecx
7739F3C4 mov %dx,0x4(%ecx)
7739F3C8 add $0xffffc000,%edx
7739F3CE mov %dx,0x6(%ecx)
7739F3D2 andw $0x0,0x2(%eax)
7739F3D7 mov %ecx,0x4(%eax)
7739F3DA movw $0x1,(%eax)
7739F3DF mov $0x1,%al
7739F3E1 pop %edi
7739F3E2 pop %esi
7739F3E3 pop %ebp
7739F3E4 ret $0x8
7739F3E7 push %eax
7739F3E8 push %esi
7739F3E9 call 0x773ba115 <ntdll!RtlFreeSid>
7739F3EE jmp 0x773fc3e0 <ntdll!RtlDeleteCriticalSection+44497>
7739F3F3 sub %esi,%ebx
7739F3F5 push %ebx
7739F3F6 push $0x0
7739F3F8 add %esi,%edi
7739F3FA push %edi
7739F3FB call 0x773c4100 <ntdll!memset>
7739F400 add $0xc,%esp
7739F403 jmp 0x773a214e <ntdll!RtlCreateEnvironment+961>
7739F408 movb $0x0,-0x19(%ebp)
7739F40C movl $0x4,-0x80(%ebp)
7739F413 test $0x61000000,%edx
7739F419 je 0x773e1c70 <ntdll!RtlUnhandledExceptionFilter+906>
7739F41F jmp 0x773fd9e4 <ntdll!RtlDeleteCriticalSection+50133>
7739F424 call 0x773e2b01 <ntdll!RtlGetParentLocaleName>
7739F429 test $0x800,%ax
7739F42D je 0x773e1d1f <ntdll!RtlUnhandledExceptionFilter+1081>
7739F433 jmp 0x773fda38 <ntdll!RtlDeleteCriticalSection+50217>
7739F438 movzwl %ax,%edi
7739F43B mov %edi,-0x20(%ebp)
7739F43E mov 0x2(%esi),%al
7739F441 and $0xf0,%al
7739F443 mov %al,0x2(%esi)
7739F446 movb $0x0,0x7(%esi)
7739F44A testb $0x40,0x40(%ebx)
7739F44E jne 0x773fda94 <ntdll!RtlDeleteCriticalSection+50309>
7739F454 mov 0xb8(%ebx),%eax
7739F45A test %eax,%eax
7739F45C je 0x7739eb68 <ntdll!TpWaitForWait+393>
7739F462 mov %eax,-0xb0(%ebp)
7739F468 mov 0x4(%eax),%ecx
7739F46B cmp %ecx,%edi
7739F46D jae 0x77397805 <ntdll!RtlIsCriticalSectionLockedByThread+450>
7739F473 mov %edi,-0x58(%ebp)
7739F476 mov %eax,%ecx
7739F478 mov %ecx,-0x2c(%ebp)
7739F47B mov -0x58(%ebp),%eax
7739F47E sub 0x14(%ecx),%eax
7739F481 mov %eax,-0x34(%ebp)
7739F484 mov 0x18(%ecx),%edx
7739F487 mov %edx,-0x24(%ebp)
7739F48A mov 0x4(%edx),%eax
7739F48D mov %eax,-0x70(%ebp)
7739F490 cmp %eax,%edx
7739F492 je 0x773979d2 <ntdll!RtlIpv4StringToAddressW+184>
7739F498 mov 0x4c(%ebx),%edx
7739F49B test %edx,%edx
7739F49D je 0x7739eb4e <ntdll!TpWaitForWait+367>
7739F4A3 mov -0x8(%eax),%eax
7739F4A6 mov %eax,-0xc0(%ebp)
7739F4AC mov 0x4c(%ebx),%edx
7739F4AF test %eax,%edx
7739F4B1 je 0x7739f4bc <ntdll!RtlAddCompoundAce+664>
7739F4B3 xor 0x50(%ebx),%eax
7739F4B6 mov %eax,-0xc0(%ebp)
7739F4BC movzwl %ax,%eax
7739F4BF mov 0x8(%ebp),%esi
7739F4C2 movzwl %ax,%eax
7739F4C5 sub %eax,%edi
7739F4C7 mov -0x24(%ebp),%eax
7739F4CA test %edi,%edi
7739F4CC jg 0x7739f59c <ntdll!RtlAddCompoundAce+888>
7739F4D2 mov (%eax),%eax
7739F4D4 sub $0x8,%eax
7739F4D7 test %edx,%edx
7739F4D9 je 0x7739eb57 <ntdll!TpWaitForWait+376>
7739F4DF mov (%eax),%eax
7739F4E1 mov %eax,-0xc8(%ebp)
7739F4E7 mov 0x4c(%ebx),%edx
7739F4EA test %eax,%edx
7739F4EC je 0x7739f4f7 <ntdll!RtlAddCompoundAce+723>
7739F4EE xor 0x50(%ebx),%eax
7739F4F1 mov %eax,-0xc8(%ebp)
7739F4F7 movzwl %ax,%eax
7739F4FA mov 0x8(%ebp),%esi
7739F4FD movzwl %ax,%eax
7739F500 mov -0x20(%ebp),%edi
7739F503 sub %eax,%edi
7739F505 test %edi,%edi
7739F507 jle 0x77397830 <ntdll!RtlIsCriticalSectionLockedByThread+493>
7739F50D cmpl $0x0,(%ecx)
7739F510 jne 0x7739f51f <ntdll!RtlAddCompoundAce+763>
7739F512 mov 0x4(%ecx),%eax
7739F515 dec %eax
7739F516 cmp %eax,-0x58(%ebp)
7739F519 je 0x77392d15 <strtol+122>
7739F51F mov -0x34(%ebp),%ecx
7739F522 mov %ecx,%edi
7739F524 shr $0x5,%edi
7739F527 mov -0x2c(%ebp),%eax
7739F52A mov 0x4(%eax),%edx
7739F52D sub 0x14(%eax),%edx
7739F530 shr $0x5,%edx
7739F533 dec %edx
7739F534 mov 0x1c(%eax),%eax
7739F537 lea (%eax,%edi,4),%eax
7739F53A mov %eax,-0x54(%ebp)
7739F53D and $0x1f,%ecx
7739F540 xor %eax,%eax
7739F542 inc %eax
7739F543 shl %cl,%eax
7739F545 dec %eax
7739F546 not %eax
7739F548 mov -0x54(%ebp),%ecx
7739F54B and (%ecx),%eax
7739F54D mov %edi,-0x64(%ebp)
7739F550 test %eax,%eax
7739F552 je 0x7739da8e <ntdll!RtlCreateHeap+504>
7739F558 movzwl %ax,%ecx
7739F55B test %ecx,%ecx
7739F55D mov %eax,%ecx
7739F55F je 0x7739f6bd <ntdll!RtlAddCompoundAce+1177>
7739F565 and $0xff,%ecx
7739F56B jne 0x7739dc17 <ntdll!RtlCreateRegistryKey+365>
7739F571 movzbl %ah,%eax
7739F574 movzbl 0x773e1920(%eax),%eax
7739F57B add $0x8,%eax
7739F57E shl $0x5,%edi
7739F581 add %eax,%edi
7739F583 mov %edi,-0x64(%ebp)
7739F586 mov -0x2c(%ebp),%eax
7739F589 cmpl $0x0,0x8(%eax)
7739F58D lea (%edi,%edi,1),%ecx
7739F590 je 0x773fdab7 <ntdll!RtlDeleteCriticalSection+50344>
7739F596 mov 0x20(%eax),%eax
7739F599 mov (%eax,%ecx,4),%eax
7739F59C mov %eax,-0x40(%ebp)
7739F59F mov -0x40(%ebp),%eax
7739F5A2 mov -0x20(%ebp),%edi
7739F5A5 test %eax,%eax
7739F5A7 je 0x7739eb01 <ntdll!TpWaitForWait+290>
7739F5AD mov %eax,-0xa0(%ebp)
7739F5B3 lea 0xc4(%ebx),%ecx
7739F5B9 cmp %eax,%ecx
7739F5BB je 0x7739f5e9 <ntdll!RtlAddCompoundAce+965>
7739F5BD cmpl $0x0,0x4c(%ebx)
7739F5C1 je 0x7739eb73 <ntdll!TpWaitForWait+404>
7739F5C7 mov -0x8(%eax),%ecx
7739F5CA mov %ecx,-0x5c(%ebp)
7739F5CD test %ecx,0x4c(%ebx)
7739F5D0 je 0x7739f5d8 <ntdll!RtlAddCompoundAce+948>
7739F5D2 xor 0x50(%ebx),%ecx
7739F5D5 mov %ecx,-0x5c(%ebp)
7739F5D8 movzwl %cx,%ecx
7739F5DB mov 0x8(%ebp),%esi
7739F5DE movzwl %cx,%ecx
7739F5E1 cmp %ecx,%edi
7739F5E3 ja 0x773fdabe <ntdll!RtlDeleteCriticalSection+50351>
7739F5E9 lea 0x8(%esi),%edx
7739F5EC mov %edx,-0x34(%ebp)
7739F5EF mov 0x4(%eax),%ecx
7739F5F2 mov (%ecx),%edi
7739F5F4 cmp %eax,%edi
7739F5F6 jne 0x773fdac5 <ntdll!RtlDeleteCriticalSection+50358>
7739F5FC mov %eax,(%edx)
7739F5FE mov %ecx,0x4(%edx)
7739F601 mov %edx,(%ecx)
7739F603 mov %edx,0x4(%eax)
7739F606 movzwl (%esi),%eax
7739F609 add %eax,0x78(%ebx)
7739F60C mov 0xb8(%ebx),%eax
7739F612 test %eax,%eax
7739F614 je 0x773e1fd8 <ntdll!RtlUnhandledExceptionFilter+1778>
7739F61A movzwl (%esi),%edi
7739F61D mov %eax,-0xa4(%ebp)
7739F623 mov 0x4(%eax),%ecx
7739F626 cmp %ecx,%edi
7739F628 jae 0x77397818 <ntdll!RtlIsCriticalSectionLockedByThread+469>
7739F62E mov %edi,%ecx
7739F630 mov %ecx,-0x84(%ebp)
7739F636 sub 0x14(%eax),%ecx
7739F639 mov %ecx,-0x20(%ebp)
7739F63C cmpl $0x0,0x8(%eax)
7739F640 lea (%ecx,%ecx,1),%edx
7739F643 je 0x773fdad8 <ntdll!RtlDeleteCriticalSection+50377>
7739F649 incl 0xc(%eax)
ne ho postato un pezzo altrimenti non entrava e spero sia quello significativo
potreste darmi indicazioni perchè sinceramente comincio a dar di fuori![]()