Visual Studio 2015更新1 C ++“断点无法绑定”

ŁukaszBaran

我在最新的Visual Studio中遇到断点问题。即使使用最简单的代码也不会绑定:

#include "stdafx.h"


int main()
{
    int ololo = 0;
    return 0;
}

断点设置在线:

int ololo = 0;

我试图通过互联网查看问题所在,但老实说找不到任何与我的情况相符的答案,人们的案件通常比这复杂。

编辑:新来源:

#include "stdafx.h"
#include <iostream>

volatile int TestGlobal;

void Foo()
{
    TestGlobal = 289173;
    int test = 90823;
}
int main()
{
    Foo();
    int notworking = 0;
    int in = 23;
    std::cin >> in;
    return 0;
}

生成的ASM:

; Listing generated by Microsoft (R) Optimizing Compiler Version 19.00.23506.0 

include listing.inc

INCLUDELIB MSVCRTD
INCLUDELIB OLDNAMES

PUBLIC  ?TestGlobal@@3HC                ; TestGlobal
_BSS    SEGMENT
?TestGlobal@@3HC DD 01H DUP (?)             ; TestGlobal
_BSS    ENDS
PUBLIC  ?__empty_global_delete@@YAXPEAX@Z       ; __empty_global_delete
PUBLIC  ?__empty_global_delete@@YAXPEAX_K@Z     ; __empty_global_delete
PUBLIC  ?Foo@@YAXXZ                 ; Foo
PUBLIC  main
EXTRN   __imp_??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAH@Z:PROC
EXTRN   _RTC_CheckStackVars:PROC
EXTRN   _RTC_InitBase:PROC
EXTRN   _RTC_Shutdown:PROC
EXTRN   __imp_?cin@std@@3V?$basic_istream@DU?$char_traits@D@std@@@1@A:BYTE
;   COMDAT pdata
pdata   SEGMENT
$pdata$?__empty_global_delete@@YAXPEAX@Z DD imagerel $LN3
    DD  imagerel $LN3+50
    DD  imagerel $unwind$?__empty_global_delete@@YAXPEAX@Z
pdata   ENDS
;   COMDAT pdata
pdata   SEGMENT
$pdata$?__empty_global_delete@@YAXPEAX_K@Z DD imagerel $LN3
    DD  imagerel $LN3+55
    DD  imagerel $unwind$?__empty_global_delete@@YAXPEAX_K@Z
pdata   ENDS
;   COMDAT pdata
pdata   SEGMENT
$pdata$?Foo@@YAXXZ DD imagerel $LN3
    DD  imagerel $LN3+55
    DD  imagerel $unwind$?Foo@@YAXXZ
pdata   ENDS
;   COMDAT pdata
pdata   SEGMENT
$pdata$main DD  imagerel $LN3
    DD  imagerel $LN3+98
    DD  imagerel $unwind$main
pdata   ENDS
;   COMDAT rtc$TMZ
rtc$TMZ SEGMENT
_RTC_Shutdown.rtc$TMZ DQ FLAT:_RTC_Shutdown
rtc$TMZ ENDS
;   COMDAT rtc$IMZ
rtc$IMZ SEGMENT
_RTC_InitBase.rtc$IMZ DQ FLAT:_RTC_InitBase
rtc$IMZ ENDS
;   COMDAT xdata
xdata   SEGMENT
$unwind$main DD 025051e01H
    DD  010a230fH
    DD  070030025H
    DD  05002H
xdata   ENDS
;   COMDAT CONST
CONST   SEGMENT
main$rtcName$0 DB 069H
    DB  06eH
    DB  00H
    ORG $+13
main$rtcVarDesc DD 044H
    DD  04H
    DQ  FLAT:main$rtcName$0
    ORG $+48
main$rtcFrameData DD 01H
    DD  00H
    DQ  FLAT:main$rtcVarDesc
CONST   ENDS
;   COMDAT xdata
xdata   SEGMENT
$unwind$?Foo@@YAXXZ DD 05051c01H
    DD  010a030dH
    DD  07003001dH
    DD  05002H
xdata   ENDS
;   COMDAT xdata
xdata   SEGMENT
$unwind$?__empty_global_delete@@YAXPEAX_K@Z DD 05052d01H
    DD  01130316H
    DD  0700c0019H
    DD  0500bH
xdata   ENDS
;   COMDAT xdata
xdata   SEGMENT
$unwind$?__empty_global_delete@@YAXPEAX@Z DD 05052801H
    DD  010e0311H
    DD  070070019H
    DD  05006H
xdata   ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File c:\users\lukasz\documents\visual studio 2015\projects\breakpointtest\breakpointtest\breakpointtest.cpp
;   COMDAT main
_TEXT   SEGMENT
notworking$ = 4
in$ = 36
main    PROC                        ; COMDAT

; 15   : {

$LN3:
    push    rbp
    push    rdi
    sub rsp, 296                ; 00000128H
    lea rbp, QWORD PTR [rsp+32]
    mov rdi, rsp
    mov ecx, 74                 ; 0000004aH
    mov eax, -858993460             ; ccccccccH
    rep stosd

; 16   :    Foo();

    call    ?Foo@@YAXXZ             ; Foo

; 17   :    int notworking = 0;

    mov DWORD PTR notworking$[rbp], 0

; 18   :    int in = 23;

    mov DWORD PTR in$[rbp], 23

; 19   :    std::cin >> in;

    lea rdx, QWORD PTR in$[rbp]
    mov rcx, QWORD PTR __imp_?cin@std@@3V?$basic_istream@DU?$char_traits@D@std@@@1@A
    call    QWORD PTR __imp_??5?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@AEAH@Z

; 20   :     return 0;

    xor eax, eax

; 21   : }

    mov edi, eax
    lea rcx, QWORD PTR [rbp-32]
    lea rdx, OFFSET FLAT:main$rtcFrameData
    call    _RTC_CheckStackVars
    mov eax, edi
    lea rsp, QWORD PTR [rbp+264]
    pop rdi
    pop rbp
    ret 0
main    ENDP
_TEXT   ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File c:\users\lukasz\documents\visual studio 2015\projects\breakpointtest\breakpointtest\breakpointtest.cpp
;   COMDAT ?Foo@@YAXXZ
_TEXT   SEGMENT
test$ = 4
?Foo@@YAXXZ PROC                    ; Foo, COMDAT

; 10   : {

$LN3:
    push    rbp
    push    rdi
    sub rsp, 232                ; 000000e8H
    mov rbp, rsp
    mov rdi, rsp
    mov ecx, 58                 ; 0000003aH
    mov eax, -858993460             ; ccccccccH
    rep stosd

; 11   :    TestGlobal = 289173;

    mov DWORD PTR ?TestGlobal@@3HC, 289173  ; TestGlobal, 00046995H

; 12   :    int test = 90823;

    mov DWORD PTR test$[rbp], 90823     ; 000162c7H

; 13   : }

    lea rsp, QWORD PTR [rbp+232]
    pop rdi
    pop rbp
    ret 0
?Foo@@YAXXZ ENDP                    ; Foo
_TEXT   ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File c:\users\lukasz\documents\visual studio 2015\projects\breakpointtest\breakpointtest\breakpointtest.cpp
;   COMDAT ?__empty_global_delete@@YAXPEAX_K@Z
_TEXT   SEGMENT
__formal$ = 224
__formal$ = 232
?__empty_global_delete@@YAXPEAX_K@Z PROC        ; __empty_global_delete, COMDAT

$LN3:
    mov QWORD PTR [rsp+16], rdx
    mov QWORD PTR [rsp+8], rcx
    push    rbp
    push    rdi
    sub rsp, 200                ; 000000c8H
    mov rbp, rsp
    mov rdi, rsp
    mov ecx, 50                 ; 00000032H
    mov eax, -858993460             ; ccccccccH
    rep stosd
    mov rcx, QWORD PTR [rsp+232]
    lea rsp, QWORD PTR [rbp+200]
    pop rdi
    pop rbp
    ret 0
?__empty_global_delete@@YAXPEAX_K@Z ENDP        ; __empty_global_delete
_TEXT   ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File c:\users\lukasz\documents\visual studio 2015\projects\breakpointtest\breakpointtest\breakpointtest.cpp
;   COMDAT ?__empty_global_delete@@YAXPEAX@Z
_TEXT   SEGMENT
__formal$ = 224
?__empty_global_delete@@YAXPEAX@Z PROC          ; __empty_global_delete, COMDAT

$LN3:
    mov QWORD PTR [rsp+8], rcx
    push    rbp
    push    rdi
    sub rsp, 200                ; 000000c8H
    mov rbp, rsp
    mov rdi, rsp
    mov ecx, 50                 ; 00000032H
    mov eax, -858993460             ; ccccccccH
    rep stosd
    mov rcx, QWORD PTR [rsp+232]
    lea rsp, QWORD PTR [rbp+200]
    pop rdi
    pop rbp
    ret 0
?__empty_global_delete@@YAXPEAX@Z ENDP          ; __empty_global_delete
_TEXT   ENDS
END
ŁukaszBaran

问题出在最新的Windows 10版本(14251)中,恢复到11099后,一切又开始正常工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Visual Studio 2015更新1,铛错误

来自分类Dev

Visual Studio 2015更新1中C ++的内部编译器错误

来自分类Dev

Visual Studio 2015的C ++标准

来自分类Dev

Visual Studio 2015 C#XAML设计器无法加载

来自分类Dev

Visual Studio 2015更新3无法正常工作

来自分类Dev

Visual Studio 2015更新2。Team Explorer无法正常工作

来自分类Dev

升级到Visual Studio 2015,现在无法在调试中遇到断点

来自分类Dev

无法卸载Visual Studio 2015

来自分类Dev

Visual Studio 2015更新1不显示当前的Git分支

来自分类Dev

Visual Studio 2015社区安装更新1失败

来自分类Dev

Visual Studio社区2015更新1生成问题

来自分类Dev

适用于Visual Studio 2015更新1的MicroUpdate 1.1

来自分类Dev

Visual Studio 2015更新1和XAML构建模板

来自分类Dev

Microsoft Visual Studio 2012无法在C#文件中设置断点

来自分类Dev

Microsoft Visual Studio 2012无法在C#文件中设置断点

来自分类Dev

如何更新 Visual Studio 2015?

来自分类Dev

SpeechRecognizer无法正常工作,COMException:未注册类/ UWP App Windows IoT(10.0.10586)和Visual Studio 2015更新1

来自分类Dev

如何使Visual Studio 2015 C ++项目与Visual Studio 2010兼容?

来自分类Dev

设置断点但尚未在Visual Studio 2019中绑定

来自分类Dev

Visual Studio 2015 C ++的助手

来自分类Dev

使用C和Visual Studio 2015的ANSI

来自分类Dev

Visual Studio 2015中的C代码错误

来自分类Dev

无法在Visual Studio 2013/2015中的配置属性下查看C / C ++部分

来自分类Dev

用于Visual Studio 2015的Wine Visual C ++可重新分发

来自分类Dev

用于Visual Studio 2015的Wine Visual C ++可重新分发

来自分类Dev

没有自动更新Visual Studio 2015来更新1?

来自分类Dev

无法摆脱Visual Studio 2015中的项目

来自分类Dev

Visual Studio 2015无法识别参考

来自分类Dev

IISExpress无法从Visual Studio 2015启动

Related 相关文章

  1. 1

    Visual Studio 2015更新1,铛错误

  2. 2

    Visual Studio 2015更新1中C ++的内部编译器错误

  3. 3

    Visual Studio 2015的C ++标准

  4. 4

    Visual Studio 2015 C#XAML设计器无法加载

  5. 5

    Visual Studio 2015更新3无法正常工作

  6. 6

    Visual Studio 2015更新2。Team Explorer无法正常工作

  7. 7

    升级到Visual Studio 2015,现在无法在调试中遇到断点

  8. 8

    无法卸载Visual Studio 2015

  9. 9

    Visual Studio 2015更新1不显示当前的Git分支

  10. 10

    Visual Studio 2015社区安装更新1失败

  11. 11

    Visual Studio社区2015更新1生成问题

  12. 12

    适用于Visual Studio 2015更新1的MicroUpdate 1.1

  13. 13

    Visual Studio 2015更新1和XAML构建模板

  14. 14

    Microsoft Visual Studio 2012无法在C#文件中设置断点

  15. 15

    Microsoft Visual Studio 2012无法在C#文件中设置断点

  16. 16

    如何更新 Visual Studio 2015?

  17. 17

    SpeechRecognizer无法正常工作,COMException:未注册类/ UWP App Windows IoT(10.0.10586)和Visual Studio 2015更新1

  18. 18

    如何使Visual Studio 2015 C ++项目与Visual Studio 2010兼容?

  19. 19

    设置断点但尚未在Visual Studio 2019中绑定

  20. 20

    Visual Studio 2015 C ++的助手

  21. 21

    使用C和Visual Studio 2015的ANSI

  22. 22

    Visual Studio 2015中的C代码错误

  23. 23

    无法在Visual Studio 2013/2015中的配置属性下查看C / C ++部分

  24. 24

    用于Visual Studio 2015的Wine Visual C ++可重新分发

  25. 25

    用于Visual Studio 2015的Wine Visual C ++可重新分发

  26. 26

    没有自动更新Visual Studio 2015来更新1?

  27. 27

    无法摆脱Visual Studio 2015中的项目

  28. 28

    Visual Studio 2015无法识别参考

  29. 29

    IISExpress无法从Visual Studio 2015启动

热门标签

归档