[visual-studio] Visual Studio 디버그 모드에서 개체 값 복사

Visual Studio 디버그 모드에서는 변수 위로 마우스를 가져 가서 값을 표시 한 다음 “복사”, “식 복사”또는 “값 복사”를 마우스 오른쪽 단추로 클릭 할 수 있습니다.

변수가 기본 유형이 아닌 객체 인 경우 객체를 확장하고 탐색하기위한 + 부호가 있습니다. 클립 보드에 모든 것을 복사하는 방법이 있습니까?



답변

바로 창에

?name_of_variable

그러면 모든 것이 인쇄되고 원하는 곳에서 수동으로 복사하거나 즉시 창의 로깅 기능을 사용하여 파일에 자동으로 쓸 수 있습니다.

업데이트 : 텍스트로 검색하거나 측면에 저장 한 다음 나중에 객체의 상태를 비교할 수 있도록 값의 중첩 구조를 복사 / 붙여 넣는 방법을 묻고 있다고 가정합니다. 내가 옳다면 OzCode 라는 내가 만든 Visual Studio의 상용 확장 기능을 확인 하고 “검색”및 “비교”기능을 통해 이러한 작업을 훨씬 쉽게 수행 할 수 있습니다.

업데이트 2 @ppumkin의 질문에 대답하거나 새로운 EAP 에는 새로운 내보내기 기능이있어 사용자가 변수 값을 Json, XML, Excel 또는 C # 코드로 내보낼 수 있습니다.

전체 공개 : 저는 여기서 설명한 도구의 공동 제작자입니다.


답변

바로 아래 창에서 아래 코드를 실행할 수 있으며 객체의 직렬화 된 XML 표현을 xml 파일로 내 보냅니다.

(new System.Xml.Serialization.XmlSerializer(obj.GetType())).Serialize(new System.IO.StreamWriter(@"c:\temp\text.xml"), obj)

출처 : Visual Studio에서 디버거에서 개체를 직렬화하는 방법


답변

이 작업을 편리하게 수행하는 최근 확장 Object Exporter가 있습니다.

http://www.omarelabd.net/exporting-objects-from-the-visual-studio-debugger/

확장 : https://visualstudiogallery.msdn.microsoft.com/c6a21c68-f815-4895-999f-cd0885d8774f


답변

해당 객체에 대한 시계를 추가하고 시계 창에서 복사하려는 모든 항목을 확장하고 선택한 다음 복사하십시오.


답변

https://stackoverflow.com/a/23362097/2680660의 가장 인기있는 답변 :

운이 좋으면 이미 appdomain에 Json.Net이 있습니다. 이 경우 직접 실행 창에 다음을 입력하십시오.

Newtonsoft.Json.JsonConvert.SerializeObject(someVariable)

답변

사용하여 귀하의 클래스와 메소드를 장식하는 속성을 당신은 디버깅하는 동안 개체 디스플레이에서 특정 값을 가질 수 DebuggerDisplay 속성

[DebuggerDisplay("Person - {Name} is {Age} years old")]
public class Person
{
  public string Name { get; set; }
  public int Age { get; set; }
}


답변

Google 은이 8 살짜리 질문으로 이끌었고 ObjectDumper 를 사용하여 복사 붙여 넣기 디버거 데이터와 매우 비슷한 결과를 얻었 습니다 . 산들 바람이었다.

디버거의 정보에 대해 특별히 묻는 질문을 알고 있지만 ObjectDumper는 기본적으로 동일한 정보를 제공합니다. 나는이 질문을 구글 사람들이 나와 같다고 가정하고 디버깅 목적으로 데이터가 필요하며 기술적으로 디버거에서 온 것인지는 상관하지 않는다고 가정합니다.