magento2 – Magento 2 – How to find out which data is available for an object?


I have a quote item:

/**
 * @var MagentoQuoteModelQuoteFactory
 */
protected $_cartFactory;

public function __construct(
    ...
    MagentoCheckoutModelCartFactory $cartFactory,
    ...
) {
    ...
    $this->_cartFactory = $cartFactory;
    ...
}

...   
/** @var MagentoCheckoutModelCart $cart */
$cart = $this->_cartFactory->create();

/** @var MagentoQuoteModelQuote $quote */
$quote = $cart->getQuote();

How can I figure out, which attributes are available/accessible for $quote?
I know for example that I can call $quote->getTotals() because I found it somewhere in another code.

How do I know all attributes which I can access?

I tried:

$writer = new ZendLogWriterStream(BP . '/var/log/shipping.log');
$logger = new ZendLogLogger();
$logger->addWriter($writer);

$data= $quote->getData();
$logger->info("Data: ");
$logger->info($data);

But it does not print anything and my site stops working.