Kezdőoldal » Számítástechnika » Programozás » Hogyan lehet kideríteni, hogy...

Hogyan lehet kideríteni, hogy egy osztály milyen névtérben lett definiálva?

Figyelt kérdés

Van például a DocxAttributeOutput osztály, ami itt van definiálva:

[link]


Előtte nem látok nem lezárt névtérdefiníciókat, illetve nem hiszem, hogy az ősosztályok névterének valamelyikébe definiálódna ez az osztály is, vagy mégis?

Pl: oox::vml::VMLTextExport vagy public oox::drawingml::DMLTextExport.


Ennek ott van jelentősége, hogy linuxon kell most debuggolnom, és a dbg-ben a breakpointot névtér::névtér::OsztályNév::FüggvényNév formában kell megadni, és nem fogadja el ezt:

break DocxAttributeOutput::DoWriteCmd


Persze az elérési út alapján is próbáltam, meg pl így is: break ::DocxAttributeOutput::DoWriteCmd, de úgy sem működik.


Tudom, hogy Visual Studioban sokkal kényelmesebb a backtracelés, de az most hirtelen nincs.


Valami tipp esetleg?



2019. máj. 8. 16:32
 1/3 anonim ***** válasza:
Osztály és függvény között sosincs ::
2019. máj. 8. 21:51
Hasznos számodra ez a válasz?
 2/3 A kérdező kommentje:

Nem sima függvényre gondoltam, hanem az osztálynak a tagfüggvényére, bocs.


Ez például működik:


make debugrun

break oox::drawingml::LineProperties::getLineWidth

run --convert-to docx ../Shape_Line_14.docx

bt


A fájl elérési útja:


/core/oox/source/drawingml/lineproperties.cxx


És látszik, hogy milyen névterekben van definiálva.


namespace oox {

namespace drawingml {

sal_Int32 LineProperties::getLineWidth() const


Bár ez esetben az elérési út kb egyezik a névterekkel.


A fenti példát próbáltam így is persze, de ezek közül egyik sem működött:


break sw::filter::ww8::DocxAttributeOutput::DoWriteCmd

break sw::filter::DocxAttributeOutput::DoWriteCmd

break sw::ww8::DocxAttributeOutput::DoWriteCmd

break sw::filter::ww8::docxattributeoutput::DocxAttributeOutput::DoWriteCmd

2019. máj. 9. 09:32
 3/3 A kérdező kommentje:

Előfordulhat, hogy senkit nem érdekel, de azért leírom a megoldást.

break DocxAttributeOutput::DoWriteCmd

Ez volt az első próbálkozásom, de hibaüzenetet dobott rá. Mégpedig, hogy Function "DocxAttributeOutput::DoWriteCmd" not defined. Make breakpoint pending on future shared library load? (y or [n])

És az info fun DocxAttributeOutput::DoWriteCmd vagy az info fun DoWriteCmd sem működött.


Mindegy, nem tudtam, hogy ha ilyen hibaüztenet van, akkor is működhet a breakpoint, mivel a korábbi példák során ekkor nem is működött sosem.

2019. máj. 9. 11:55

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!