簡體   English   中英

Visual Studio 2015更新1 C ++“斷點無法綁定”

[英]Visual Studio 2015 Update 1 C++ “The breakpoint failed to bind”

我在最新的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

問題出在最新的Windows 10版本(14251)中,還原到11099后,一切又重新開始工作。

您可能會發現此問題已通過升級得到解決。

當我在“ Windows 10 Pro Insider Preview”中遇到相同的問題,甚至無法調試一個簡單的“ Hello world”時,通過更新OS Build 14257版本160131解決了該問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM