From ec7a1d41fb8b5bbbbf3736a3710b4353cff12fc6 Mon Sep 17 00:00:00 2001 From: Arman Papikyan Date: Thu, 30 Mar 2023 22:27:40 +0400 Subject: [PATCH] Clarifying some common pitfalls for Visual Studio debugging (#7062) * Clarifying some common pitfalls for Visual Studio debugging Two minor changes made to this page, to help other people avoid wasting their time: 1. The page says at the end that it should be possible to place a breakpoint and if the steps were followed properly it should just work, however the dev_buil paramter is not mentioned anywhere in the same page and I would not be able to complete the setup without help from @anvilfolk. 2. I spent a couple of minutes trying to understand why the debugger would not attach and instead would exit with code 255 - no errors or hints shown (like path not found, or could not parse, etc). Ended up being a simple mistake of having white spaces in the path. I think its worth mentioning in the docs. Also updating the screenshot to suggest double quotation marks by default as safer alternative that can handle whitespaces. --------- Co-authored-by: Max Hilbrunner --- .../img/vs_3_debug_command_line.png | Bin 5928 -> 0 bytes .../img/vs_3_debug_command_line.webp | Bin 0 -> 5292 bytes .../configuring_an_ide/visual_studio.rst | 8 +++++--- 3 files changed, 5 insertions(+), 3 deletions(-) delete mode 100644 contributing/development/configuring_an_ide/img/vs_3_debug_command_line.png create mode 100644 contributing/development/configuring_an_ide/img/vs_3_debug_command_line.webp diff --git a/contributing/development/configuring_an_ide/img/vs_3_debug_command_line.png b/contributing/development/configuring_an_ide/img/vs_3_debug_command_line.png deleted file mode 100644 index 0c5f467d314afca25cb276d9e11a641c9bf87cc5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5928 zcmXw72|QHY`=3g0Dnj;UEWOF#jbWIWiHc?>M8=-7GbBs4l(p>3G|1SKWumbR6*FG4 zL|H;H7-R^Qeb2tm|LXny&u8YG=RD8%+0J?HJ@?*NLjw%wDUnkk5QtOf#&shQ=oks0 ztJ#kM{VZ7600cU^W_Z&CwY7M-}hzP`L%VhhMXAb9jw+rw@dWLvVn&Pdjg5EmDh z&`D+hAgU+hknv~2NIslP08MB4Ycw1{FE8szNO)4$ld0>T5;_2I`Tqs*L&LVwCDHKc zXj@x2;0YKH9Ul5whJ)aT20(C~L+$nCWKY0>4lsEBu?P6@q$X37qv1e{)&T@MIv`s> z7qA4E@B~}|Kpm>5Cxt>8KWw>{AXsSQ;b58jX9f(7p)e545_Bklfk40vb_f}_3=M@H zg8nf6z$+>$0BC6Ap>}AfB`h=)1Q5BQmX$y&q(bbN+(yH6A_?8>>*A2kG0lE zuz#}``(_W3NTVet0zyP06Gvm=XiPZBscaJv5qjd);qilI4j_<2MQpqiJe~joArJ__ zG6Jqfum`pfq`vmX2?PRu>WNGiU;}{w#j2^(n29*R5e>(pC4$tP?A6o(feuhfz;-gI zjCE=v0UQVcAZUpQCKHGgnBzb=9P=4YRf*QW4zBC)t5s%Lt}-was2F^CecG39B^?k@6)H z&T3&`-|i};4U`&k>|M)hJtrmJjTIt(PQ4u5ghuG%zR|s#(_I&=-+B~3!^!V+EMQWR zRt^D18~4^9s7!N3`TFMNk{0MjTh80{ZhAA$)1{R!OUs-5N6ok}1O1o64sag#(`DT} zCx1hJ2vW1v+6W_*yzE3h$S-*QiEr8{5m;m}@@hFHTJ)C^*O`Q)S{G)?!bnuwOW5a8 z?B0O`hKK8S#{4*z^{-G->Il1mfodBes4ptu-`mQ2&qVba8~Y!)g9BI6?Ue6fPJ&h6 zk`^jfr!TAGWKE`<()Bt^)AIBo)|AT90QP}PQ&la)cH0K2R17%f8GR^=r@v`_@^Yyt zFE#&(QsCzSdKKzLZ1wXm8}RGYgZCu0PsmrCyvlIBhlw5P2@a+Ue`yd;W|Wd}!}Lw6 zOHK3YCxcA|s|Iz!Z-#dls4BcX)WqpnXDhcps_R7#3$jhV0;SBbVV5#RdVA~sTmn)K zDeli#k~d>K2gxI~obRHmeOHLpIxG3c@obNugUOI%LM_hM$0PX>XP!pf*IV0uksH%J z16U44r_rtvsvHUW0e<9|^OE&tWb#EV?9uz0WOH58&NOR+Tnqe6S)Y zz1=ZUU*A)?q?WT&ehxMR)QXvmGu5%T1;qzOW^Sj^O;Zb|crYaDVnM_!5)EXg$of8o ze_*I9>BBZE(L8vYBDH2Bbu!(p{O;C|xQV#!9ZE_)HN0f)@+`T`O0>ceHjqz&^eKt3 zG%%ZI5>yf+pXR`tOm=o-sP$XOxT;H4QCP{-Y~VUde_*DOZ4?X1N z0OE`b0sP0n(vD{dr%DzL^0$7o>95KCh0twd12?P4EAq~imc-s|UXItO==K9gHNJr) zOqRJnuTTlcXH<3IyF%O42Zr=zaXq%ylL8Qb)3%PqM4FGtqXv5;GE#^_$yz zCi~dZgKO6@MXqUmoBH$in4d1U|NZz>QcT;(tTKS$t^CDXF2<~Q?F9WV#_Ct(M(U~K zw*Op?c>kr;Yx))KfsLAOU;(ia>=z7cmww3Jggx(s`bIx->GKk}fK#Mpa(tz8v4lmF{UCICUEWFT9TV|z|P9*;`b0j)RE&qZq28o&VGb)v)R;| z-{HeW31UjT(=%!~jm2~BRB}AIu+vC5I_5(8p4hEIah)8}ccAuR-hY)-u6uvs zz3f^5~!h_vP*v?XhYrE1s~tK=b<*>{;4%?`c5Qc|DLC>E#-anUoF@tX=<6G$-bw* zRQ6{J_j1n&!~CsD6>$Zmj-!|(i~egNzMQrAWBXa);~(fcp>F^Zc}QB0q?`E(2mZ(J z9fN=fNB7R1-uQ|tuoJ>J87^A6S=>J^@(mVYE0`Ck7|gY_^KNp_Jx-UB`p_4@dZcC1 zarnyb@*`)EVJGuQzQBbSu*0o|0q8)%1D6CX&jN*ac{u7j`G{|mp#vL=^S~8u5*Xw9 zJYV_RySed=k7GqP?LFw|+Mkio%8rC zceL8RDKqH#k2QX+h&3w-LHCD{0d2@*(kr7wTPxvk+FI4UiAlr`x-CPQjve%8I;zRE ze#NE>f%%c4J}Nc!#!-Z_Pa5j(g@{wxzjjcc14ryIO5OJEtmX}giZUTQ=9O1OA<5VG zSUUeL?tYNHcU&7`pnI+JhwOv9Lc`+H!K+5-x`d#;FXi~M#_6r=xmB`* zZjm1>Vw(DAMGDw?)%!2&mZ1pMA~_%4$QBXl^&x0qcUe*|4BJt;K7|d74DVHA*GDmc3pY zW8p!tdMM7R=p6?W%X(2f^omID$;}q-sQ2)6awK1dS~zi+P`ARm9S!Q!8js^H%o*78 zB`V|bc8;0}BJ8W2_!}t@hop-mVe-|EJ$G@OSjP^0u}VUF`bJ(%O8Id+{}i(3{U@#w zUjxc_#~tdGy2y=Cj^7+%_)*BUCP+s=^al!8tF!xGYU&EC*5M z3YVwt(c@aH`1V&QysP-gDdQIp?=*KbaU zO4;?@HF6AyiXZpn9FxPhpZDS*ofywfQjY6o;<$K@PJgHB;UfG&!YOH}W8p$VwJE|2 zbFY`KOycF#m$G?yc;O8j%DQXDLe$}yr&8GZr$q|PG@TzpXs%B~@yY?41Mc6ZHg})f zZR9G~Jf6`cF@&^>hhtQpiF2U6=9@Je+&B6g>Pqn93;Q)!1s|_=-w>`_(=~8r-3xA# zVH`j+%ir9$p0(+<7@vj~yM6d~ymUKHA_+=0jh5>Mrwh92VYFYI<581Jp4$$_u2N6@l{V^NkfJ{Vg0d5!BDHUthbx! zJ>KnAVf?Cd*Gi-3W23sA`7x*~MKR?dm0&Nf8lTVJEfI0 zj`Fq6WzgkFnw(s&beVR|T&6U`%iJIKJ#eY6mmb=t`%YyxH?}cmDQ8ANciX7@GXe7&ZE9k@2#Eau3tD3&w6H^Yp+fDLW8oSTZvHqyo zi^7xTA|?J=cIdiih=vUg^j!3K|Lt!d$qKKWxB9f3?!2tFRk2a&t>d@2GcYHDc7Pls zji;=baKVbaikSZQsX-(HV5vYj@j zk9?cz8B5&@sR#<}H><74B=odva7rS-uc&nzhk!x=~hpv@9&b|B)by9Re zTi4RIGAm-xeL_QidWg@mZbwL0%{|`a!6rd9KDxIdFR2Fmj4t>7@u*%qPRu#*rT%R#5-kV0=(fn=+_`-N z9^p4MQeMc$N- zFJs<9rfjN+n-d#-9eDD)R(>Z}XQl5?>C~nyos2@WTsXV{UfJTp+T@{pST0^uj2b_e zoVpJGZu!=4wJao3v(|+ZY`gY+5fd%!F2B0lil6=V!&SMH%qf;o#6L9AOxNr(kjZW3 zNBQNIr%DIZ4{3R?Cdnbu?~i6|x_ZBCCP$raW8M(?^;5>5vS1`Z!iEG4+x*aCtuI6^v`T9S_1(}c{_FdJu^okJArX$8$t{Kn z;&=XLyEs<3kDrX6?={!Dmb48c>2{sclV3AJ2GM$}L>q=*n%ur^FA;#G-k(a{Kc+1`{PsYQ*+bL17*?-!ioY5hXHEg2i z7bWkf&Djxy(E`!sZd~CmK{Pjaud7+dGG|Yn*uBd`f?AGr+OE~|l_l0afo3Wa8X_XG zLXp_>XdZkM1b4sg2<;I&mbGB}kb&z{|mwHbw zI5K^BIQ01Ob^*Q9K{--f9Q&lmrq>!o#b)?2XNT1)8IMrvPYJi@y*;|@WbWUYD zEO}{EX19x+_i>b^v7@=#SFA(V{eFk5w2|SH)?6gu8w=CY-|7Tgw6Ol<^pnzuY@`-k z2D^@}~sw0#4ZWQP0-6@q6x9JYzStY}Z15`gv=e zv_6e=2vWK?BhleAB4M6Ppx@C0-}vsTeDbrHmv%s|t?%{*#{KfvOh{Tela+Q1PrGRP zTC>+0ef+>hGq5PrT`YLbELrEqr|Ct@fv+Z0^_0(+<_>L= zfoyn@ypEiO`jHjAQNa3)n0~c{#to=zmHCcAjMaO-)t`@M-d>5*l;lt{Gk{nXeY=}N z7ZUMh1CAjxiCY>_5q)z65Yx)tP432N@uAU^1+FdBF0zdHnTw7IyW0?a)AWG>$&lho2g*eB9RqZD7@xOJMw%q6oButCn9x=rg zmq%mkD<@3Cu)*fIYDLobHCLgOyw2F~h%jt{_lIc^NtyVRZhR8GigFMJm&Cp&S>z$Z zYx%)_Ke8Fu!J!r^smzV)9df`ce7j-G)P(3Nu~BtmFbs^ekPpVMjn$^CY(UOkF$(Gd8qZBBn1r3 z1kXc_(BXOb$pQzy0pj0rU6_f3w?RD=$I-VkQn)i)-}FS0wftvXd0@r2IO`IMTR*!% zi7Stb-klvF!hnOFPrgaY)bB^Rg>4Q`7=0EeaHeS9O9r3c3#>w<24qFshI(djxHZiS}|6@Z`(ti0e>He3M z@PCmn!Nj+@Vs%ZQ<_6|k#82g`jzBQaZMnlz!%?1nrDQ|haICZnXBgG(Cb#^kZg6Rk zb15XLsOZ&78CHE+9N`||BPKwX1sga5zKJtH54Z$Tt}m%sg9aD?T{!MQHGmxhX^c4q zOrvfWR*Rx(m^f&uZP-GmQ)sIYJyc5zC*T-A1Ia#%miwcn&Mu|)l(5Pc^#VBAFxzSw zeU}covp+CQP7mZiuX1AapBwqyu+&U1vYMfC4+*Nc3)FuPsgy63Nz6G@lc!qzbbO@( zP4isJ9UbeT9q#83^H>A0D(3LOHdA2XoEHIQ(+z8fCUB|g9H?)3p~dXgQKxDhGUwci^kJr4j59>%h1Ij z;7}xqL_%$AW86wUv96o$K~uk&i3iamX2>r-Kac`aLG-xnzH+t)xRRU6)%2C-{D=kP z_J4}oNb+LhWoAy6nVFAanR(Y)@G#FTLmculGcz+Y^DvY4IJ${vj{kuEeSg0ywWPLO zp>C`DRAoWik~*;^w;a)bTClB#jil=u@5*tM2NT+IY=U||uehJ)WKj4~erSiZZ1*>pgUl|0K?u5;i>RDenDOR`L>e@cMuI($Y9uOV+KP z;oOsYK*^HJNd3rPUCmfAdfH}hzt^Zk=|E|5F?!5POVG3F{a5xyayhxpWn1e z%Za;t&%OZDn%7q&#TW_>ZY!r>-ylHiN#{cyQ; z8EGV2JP~tgo+5GdpY-Jqzp({x}Ny->BmLrjj z7me9@4$}>TJ$_)DLpPox^MNb#aTuL9+^YW8)t6*fWuZi3HVp;pJj|FZl~$=i0tHP6 z7mr>8q0tUc4+~NzBFB4iV-N?0j1H`o<7v%0jJD``6j*e=@}hZlqtQd;h7e?Z7|x+! zj@OWw+cuPc6q|j8z2U%oW4Qci-B7#F5sD z)YD>5YSb@*T~IPc+t^v3egz8VfKglL*gQqWYUJQ)Fp3I!->L>hX@p0hhz41TM%dMa zYpU;HJ*gPg+4CD~m2+(yKG+f7K9Gv<6?akb%wEWu68o{QF`bUA~*lJeOU$!$WqoGHf(Eq@BF*9d9StDnO}U!n0+Ite86Idi9NUk8W-LU zqB*X+M7nlsPzFtPh8p8SJuoS^U+ei@Y9a#zEL=Uu+ZGKH2;O0Jg4Km z5)n1?_V3q7W$W|~iX}9COnK5!kbV}Tx@t?bdT`HamPE45g{F8);2-K!6iwu)RUxauE%u( zdMO*V?`q~EdE3%?HWN!v@V0}R-(MX~0X_M`0LEO)a01`9_Mez!S-ClERO5m} zK-QDc(HxrVJ^d-py-85<_pd5}!~ZUu1=)4(O;}HJa$1@9(Ay+t@zssGG<4%V&DDtx zfBdy(ZS=2g&)vE1Gq*>FKlLe3=v}XM&(wu@fNEu=<$*#^9cn$;xiDgSj5YKEhlQP| zzwg@Kc?hGEFGv6KWY!aq52Mv5^iYVY=C88DQ|H_eR6Kh-qyE8x&=af_dMXgp^qm@I z+>HAW*IlSuOw;!)mF;QEQ6~?hh@MB`Narhu&8r$B*f7xK&OtC8oS_R){}-FGznR#J2Bk#5bO$wiLVdPbM1PrGi`ovq}mG;yT9U)8RRE>xo7R*&s! zmwA&WjudvyH!!uZz8GP>M|JrN2!K3s{*hT1266xM4Cng7TqOtD9Td}#G_bpD+5znk zEcybUXJoXtVQEdCaogXLB<1uY%ghM|Xemn_=nvfN(J+@np**^CoB0a}U}-B}+{E=q zVOKQ^L-q6{%g^P_&*DE6TX*&L@HUsWVskJQB5qX!o#{tbB$t~7mMpEEm$F>PXt*8H zY$er5LoZ>@hINvuY=m8%=|`Gaj{e)8JZ%i^xyBJub8+w@k7MkZ?QCy%F+7uj}tzz}Tq15Z@A7-+b94hTNtFd?eb5%8jnDOjbGWAHR+B;&eF zUNAalffGE9*u}42j9|0EM?xc;Rsmj=sZBRS?hjnI=1D-Cp41bP9)jmOhV*L5dg{pw zD_w3oW6$|)Bn{C5W|uIxb{e0i@)2_oIJS@$aW79ODkC9+C&RQBn#aNR6u{De(}KkJ*#`It8y)5n7Nlck{=*l*_s1(gBtlS00S(J+K&IeZ)&0 zg;XCt5y@|`$+)?`IcLMt{{WCShY4>RocHK*zns52l8Mb4Wl2B79v*|>R0Ss@$zW zxW-X{`@%y^GresNSN`BGS&KKpr>I7c2|J}NrwmN$CAkVVv%7YgRsWSIBj0QhjPeP^ z-^FasQQzL;?f1HJaqwfG8TcN#)yw4AlnzBoiu%tqrCS+6Tfvj`znBg(1~)irBU)1_ zs0{&|$tQ99f)TSyaD#@_5)hPWNUcHGcN@rcXe+DNBpmhYtMHexc1yNAf482ESFCNx5;AA)#h#Fdc_KjJ z{g91+J~-;b>pVeU{o_?o4TYGuooVJW8%@-_{C!V9jRLn+6!M+C$~WM<+MX6vRJ7I> z;`SM&M2;E$POYCjuJ|DiI!O(V+-y#F)Y?R;0@bA{m&42l`}$uaO(<8x5hss>9x_$D z37MIDyB{!{Sr~DvK#FJ+_bAiAO*+(0qY93!3~W+LWl6QO{$?+N@F>yQk{$K)!E)#P zbuYH9Z1~5fC;^Wm%bkl+&z9^3rw*8CZ-b|~m7yAjET5DNTb^b?#7af3D5KRovM5Q` zPuOV;F}5Nlx%4Bs9}&VJ47S^T#C3uiCW1z66VQ{WLinN15w)_TM4b&0bLcM@tb&oHXp`tsCLT@VzUC`g8Q7$jihlvf?7os-z-^%jV#gCv zLN>IPM;AN#0QBg}#h`+z(a}uDIJ+Y1IoNAe67YP88CpUvgK0@1D&w{l2o+}pb(_l} zjNw`rKs9xYO{QC=f&d$t95mkpj35)3K<)@3)|ehIPMB6SnptTRv^h;7;=n2vG@?zS zN6}y~i67sT2i~|>1+}sR7C!`93JYk`L5Bg(5p5DZ$_(a^A_-9$vq>qH zSvu=?^kNH7gT}9$x(v@>cht}Mh)ZgCav+2~LA*f${o+$)mOCv8;TTqV9MksRuE$1N zjsKeIN1;ck#cgNcX&@zTleR=41mZSD29X-sd-i7r(h!a9 z;#v?+FysO?DC!?nBf5hp2E-k-{(k=bN-!kvG62w-ZnMgyg)mGP_Z zwwsc@YHEHK^Ax_tUH+bGri5zy=w2gAKvMwK{8ZQU1n-pWxO!p^m<;izw{#*=pdVjY z5TT$gsoHCPN;N%8aT<4=`un*}L4CK0d%uO=iT(lK0k2Dy*ZkyFN=ih-akgLzpvVgs z@7RhPtyn1g`L&a84|NS2!$?)<6M<4#o+e&b^W<^3m-N3gYYUS0{x@?dn^RRaKO4g+ z<^JIIN2$^?8jf38Zwz)R=8eyf{wL6H8YqJ)?FU)pj!m*n$nyi6l%^#SXtoZ_c5rx}n5k#57?+O`({eLVGLr zV!NtpezI>RQrfTdjO;ir!3cm4{A-@Z?_7)&{NNJ>EyT?L)0%1mVO?D{KiM;sC_STe zoIzNz{9GK^sLFm8r$rPE5-4cOD9D6{tUW#Er_Lw4Rv^8B+twC9%~V>qp`;z^rd3(ZPZ`O6wP)0hn+y%iwe9#f{tsV@ zd9~O4^kc{cj~Ez=K7SI6F;V?BKdleGs)wn8pyJABhIv1#`aA#VYvuODzXx`2->lJn z0#YoLk_{AyG=31GkBkrO20fl<7R(I)f65GjH*E(!cUc*kA#S@E#Vb$>@=sW5(qiQf zYo~BRvq4ByPlUT&bCZL&Ma(^BhagBJ;1ik+La@a$MGX%0XjqW2W45oF+i4JzPKG=y zu9%w{gfHN-?U;ennGImVng2FC2$=)n44 zSxmAFR4BU}GevhNT-)9&g8gr0jqckIsRU*ja)Q{ewiy`I3nmC&0<)y-xL`}JzPyn4 zDku1v9O%x`z(&Y>HAdWaW(rGVvOG~CNuq6=LQh;-w;dzbn1QOEOZZD`Vr|XpL&|$) z&bp&idDPgzek;u%==|<@yeF5WZ=YrYpv2OwM@)=H9klsFf;rX4JZdq z=PQ$abt9Wr0v{G}t&MEDDiQNu(OFXCH{%B8ItHX#Vrk6Auxr^glK&)B`c(Yhnlg9+ z0ktyW)rXk(%A6%t9yLwZw%Lz#y`SvjTzm}hwQb)jed-qcWS~I;FZ!w-6b4D&l%vV;JqR4o=KAWNDzvNzZoVe>))|KNR)Qpsrw&H@9Op zFjH9UQkizo)pF8d;>`MF=gtkJy^NC5zo6Gs*R literal 0 HcmV?d00001 diff --git a/contributing/development/configuring_an_ide/visual_studio.rst b/contributing/development/configuring_an_ide/visual_studio.rst index 5c376bc4c..25bfdbdd0 100644 --- a/contributing/development/configuring_an_ide/visual_studio.rst +++ b/contributing/development/configuring_an_ide/visual_studio.rst @@ -15,7 +15,9 @@ Visual Studio requires a solution file to work on a project. While Godot does no with the solution file, it can be generated using SCons. - Navigate to the Godot root folder and open a Command Prompt or PowerShell window. -- Run ``scons platform=windows vsproj=yes`` to generate the solution. +- | Run ``scons platform=windows vsproj=yes dev_build=yes`` to generate the solution with debug symbols. + | The ``vsproj`` parameter signals that you want Visual Studio solution generated. + | The ``dev_build`` parameter makes sure the debug symbols are included, allowing to e.g. step through code using breakpoints. - You can now open the project by double-clicking on the ``godot.sln`` in the project root or by using the **Open a project or solution** option inside of the Visual Studio. - Use the **Build** top menu to build the project. @@ -47,9 +49,9 @@ Project Manager opens a project, the initial process is terminated and the debug - Open the **Debugging** section and under **Command Arguments** add two new arguments: the ``-e`` flag opens the editor instead of the Project Manager, and the ``--path`` argument tells the executable to open the specified project (must be provided as an *absolute* path - to the project root, not the ``project.godot`` file). + to the project root, not the ``project.godot`` file; if the path contains spaces be sure to pass it inside double quotation marks). -.. figure:: img/vs_3_debug_command_line.png +.. figure:: img/vs_3_debug_command_line.webp :align: center To learn more about command line arguments, refer to the